ios UI控件的简单整理(4)

#pragma mark - UIImageView// 图片转为NSDataUIImagePNGRepresentation(_ivView.image)// 图片转为点阵图(防止渲染)[_ivView.imageimageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];// 显示图片大小为imageView大小_starsView.contentMode= UIViewContentModeLeft;

_starsView.clipsToBounds=YES;// 设置图像填充模式,等比例显示(CTRL+6)iv.contentMode= UIViewContentModeScaleAspectFit;// 从iPhone4开始,设备的屏幕都是retina屏(2倍,一个坐标位横向纵向显示2个像素点,高清屏,视网膜屏),(6p是3倍的)// retina屏幕会优先找a@2x.png,找不到就找a.pngiv.image= [UIImageimageNamed:@"a"];// 图片对象(自带的大小是坐标体系的大小,如果用的是@2x图片,像素大小的宽高除以2就是坐标体系的大小UIImage*image = [UIImageimageNamed:@"c"];// 用图片直接创建图片视图,x,y默认是0,宽高默认是图片的大小UIImageView*secondIv = [[UIImageViewalloc] initWithImage:image];/** 图片轮播 **/// 设置图片视图轮播图片的数组,单次动画时间,循环次数(默认无线循环,0次也是无线循环),开始动画iv.animationImages= tempArr;

iv.animationDuration= tempArr.count/10.0f;

iv.animationRepeatCount=0;

[iv startAnimating];/*

//开始动画

- (void)startAnimating;

//手动结束动画

- (void)stopAnimating;

//判断动画状态

- (BOOL)isAnimating;

//图片

@property(nonatomic,retain) UIImage *image;

//动画的图片数组

@property(nonatomic,copy) NSArray *animationImages;

//动画时间(也就是一次完整的动画需要的时间)

@property(nonatomic) NSTimeInterval animationDuration;

//动画循环次数,循环完以后会自动停止

@property(nonatomic) NSInteger animationRepeatCount;

*/#pragma mark - UITextFiled// 占位提示符tf.placeholder= @"请输入QQ号";// 边框风格tf.borderStyle= UITextBorderStyleLine;// 背景图片(和边框风格冲突)// 如果风格是圆角,那么背景图片失效// 如果边框风格不是圆角,那么边框风格失效tf.background= [UIImageimageNamed:@"tf_bg"];// 当字符串的长度超过tf的长度,可以自动缩小字体tf.adjustsFontSizeToFitWidth=YES;// 自动缩小的最小值tf.minimumFontSize=30;// 水平方向的对齐方式(同label)tf.textAlignment= NSTextAlignmentRight;// 垂直方向对齐方式(同button)tf.contentVerticalAlignment= UIControlContentVerticalAlignmentBottom;// 当字符串的长度超过tf的长度,可以自动缩小字体tf.adjustsFontSizeToFitWidth=YES;// 自动缩小的最小值tf.minimumFontSize=30;// 水平方向的对齐方式(同label)tf.textAlignment= NSTextAlignmentRight;// 垂直方向对齐方式(同button)tf.contentVerticalAlignment= UIControlContentVerticalAlignmentBottom;// 当弹出键盘的时候,清空tf的文字tf.clearsOnBeginEditing=YES;// 设置清空按钮出现的方式tf.clearButtonMode= UITextFieldViewModeWhileEditing;// 安全输入(暗文输入,专门输入密码使用)tf.secureTextEntry=YES;// 键盘类型tf.keyboardType= UIKeyboardTypeDefault;// 回车键的外观(和功能没有任何关系)tf.returnKeyType= UIReturnKeyNext;// 设置tf的左边的附属view的出现模式(实际工作中一般都是图片imageview)// 一个view只能成为一个地方的附属viewtf.leftView= view;

tf.leftViewMode= UITextFieldViewModeAlways;// 键盘view和附属viewtf.inputView= view;

tf.inputAccessoryView= view;// 收起这个页面的键盘[self.viewendEditing:YES];// 放弃第一响应[self.viewresignFirstResponder]#pragma mark - UIViewController// 第一种跳转- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{// 通过连线的标识符来执行某个跳转// segue过渡的意思[selfperformSegueWithIdentifier:@"PushToCyan"sender:nil];

}// 第二种跳转// 通过storyboard跳转页面时都会走这个方法// 第一个参数就是跳转的那根连线,第二个参数暂时理解成触发跳转的对象(storyboard里已经画出的view)- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

{// 通过连线找到跳转到的页面UIViewController*nextVC = [segue destinationViewController];

nextVC.view.backgroundColor= [UIColoryellowColor];// self.tableView就是表格页面自动带的tableview// 在一个tableView里通过cell找到所处的位置MovieCell *cell = (id)sender;NSIndexPath*path = [self.tableViewindexPathForCell:cell];

}// 第三种跳转// 找到自带的Main.storyboardUIStoryboard *sd = [UIStoryboard storyboardWithName:@"Main"bundle:nil];UIViewController*vc = [sd instantiateViewControllerWithIdentifier:@"Cyan"];

[self.navigationControllerpushViewController:vc animated:YES];// 声明周期3-->-[ThirdViewController initWithNibName:bundle:]3-->-[ThirdViewController viewDidLoad]3-->-[ThirdViewController viewWillAppear:]3-->-[ThirdViewController viewDidAppear:]

-[FourthViewController initWithNibName:bundle:]

-[FourthViewController viewDidLoad]3-->-[ThirdViewController viewWillDisappear:]

-[FourthViewController viewWillAppear:]3-->-[ThirdViewController viewDidDisappear:]

-[FourthViewController viewDidAppear:]

-[FourthViewController viewWillDisappear:]3-->-[ThirdViewController dealloc]

-[FourthViewController viewDidDisappear:]

-[FourthViewController dealloc]//弹出一个新的viewController- (void)presentViewController:(UIViewController*)viewControllerToPresent animated: (BOOL)flag completion:(void(^)(void))completion;//销毁当前viewcontroller- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void(^)(void))completion;#pragma mark - UINavigationController// 设置导航栏(导航栏是属于导航控制器的)// 导航栏分为两部分(工具条高 20,以下高44)// 针对导航栏的设置,全影响到整个导航控制器// 设置导航栏的隐藏状态self.navigationController.navigationBarHidden=NO;// 通过vc找到nc,通过nc找到导航栏,设置背景色self.navigationController.navigationBar.barTintColor= [UIColormagentaColor];// 设置导航栏内容的渲染色(自带的返回按钮)self.navigationController.navigationBar.tintColor= [UIColorgreenColor];// 半透明状态,如果写成YES,(0,0)坐标点在导航栏的左上角// 如果写成NO,(0,0)坐标点在导航栏的左下角self.navigationController.navigationBar.translucent=NO;// 设置背景图(平铺模式:即如果图片过小,重复显示)(会引起坐标原点的改变)// 以iPhone为例,如果图片size是320*44,那么就会展示成ios7以前的效果(系统状态栏和导航栏完全分离)[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"aaa"] forBarMetrics:UIBarMetricsDefault];// 这个方法可以获取当前导航栏[UINavigationBarappearance];// 设置导航栏title的文字属性self.navigationController.navigationBar.titleTextAttributes= [NSDictionarydictionaryWithObjectsAndKeys:[UIFontsystemFontOfSize:10], NSFontAttributeName, [UIColorpurpleColor], NSForegroundColorAttributeName,nil];// 展示在当前页导航栏正中间的view,设置了这个view,title就不显示了self.navigationItem.titleView= label;/*

4种创建专用按钮

a,使用字符串创建

b,使用图片(默认会被渲染,需要注意图片的大小写)

c,使用系统自带的风格

d,自定义(一般都用UIButton)

*/UIBarButtonSystemItemFlexibleSpace,是自带的一种空的item,可以当作占位符用

[[UIImageimageNamed:@"gerenzhuye"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal],去除图片的渲染// 将专有按钮放到当前导航栏的左边UIBarButtonItem*aItem = [[UIBarButtonItemalloc] initWithTitle:@"aItem"style:UIBarButtonItemStylePlain target:selfaction:@selector(itemClick)];

[aItem setTitleTextAttributes:[NSDictionarydictionaryWithObjectsAndKeys:[UIFontsystemFontOfSize:10], NSFontAttributeName,nil] forState:UIControlStateNormal];self.navigationItem.leftBarButtonItem= aItem;// 使用图片创建专用按钮(只取轮廓,不取颜色,系统会把不透明的地方渲染了)(默认渲染色为蓝色)UIBarButtonItem*bItem = [[UIBarButtonItemalloc] initWithImage:[UIImageimageNamed:@"haoyou"] style:UIBarButtonItemStyleDone target:selfaction:@selector(itemClick)];// 使用系统自带的风格UIBarButtonItem*cItem  = [[UIBarButtonItemalloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:selfaction:@selector(itemClick)];// 使用view创建专有按钮(一般用btn,只有用btn才能添加监听事件)UIBarButtonItem*dItem = [[UIBarButtonItemalloc] initWithCustomView:btn];// 系统自定义按钮self.navigationItem.leftBarButtonItem=self.editButtonItem;#pragma mark - UITabBarController/*

使用tabBarController的基本思路

1,创建所有展示的页面

2,如果需要将页面放到导航里

3,设置每个页面或者导航显示到tabBar上的专用按钮

4,将页面或者导航放到数组里,并且和标签栏控制器关联

*/// 初始化分栏控制器(标签栏控制器)UITabBarController*tbc = [[UITabBarControlleralloc] init];// 设置需要控制的页面(可以是普通页面,也可以是导航控制器)tbc.viewControllers= [NSArrayarrayWithObjects:av, bnc, cv, dv, ev, fv, gv,nil];// 推出新页面的时候,隐藏底层标签栏,返回的时候会自动出现gv.hidesBottomBarWhenPushed=YES;/* 创建专用按钮的3中方式 */// 创建一个标签栏的专用按钮(系统自带样式)UITabBarItem *homeItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemContacts tag:0];

homeNC.tabBarItem= homeItem;// 使用一个字符串和一个图片创建专用按钮(默认渲染图片)// UITabItem使用的图片最合适的大小是30*30UITabBarItem *loveItem = [[UITabBarItem alloc] initWithTitle:@"love"image:[UIImageimageNamed:@"tab_0"] tag:0];// 使用一个字符串和2张图片创建(默认会渲染)UITabBarItem *nearlyItem = [[UITabBarItem alloc] initWithTitle:@"nearly"image:[UIImageimageNamed:@"tab2_1"] selectedImage:[UIImageimageNamed:@"tab2_2"]];// 设置渲染色UITabBarController.tabBar.tintColor= [UIColorredColor];// 设置背景颜色UITabBarController.tabBar.barTintColor= [UIColorcyanColor];// 背景图片UITabBarController.tabBar.backgroundImage= [UIImageimageNamed:@"tabbg"];// 显示字体属性,字体属性单独设置[homeItem setTitleTextAttributes:[NSDictionarydictionaryWithObject:[UIFontsystemFontOfSize:10] forKey:NSFontAttributeName] forState:UIControlStateNormal];// 让分栏控制器里对应的页面,展示出来self.selectedIndex= sender.tag-100;#pragma mark - UIScrollView// 设置滚动试图内可以展示的最大的sizesv.contentSize= CGSizeMake(480,480);// 设置偏移量(偏移就是位移,现在展示的子视图和默认子视图相比移动的距离)sv.contentOffset= CGPointMake(20,20);// 水平和垂直方向的进度条// 在有些版本里,垂直隐藏,水平也就不显示了sv.showsHorizontalScrollIndicator=NO;

sv.showsVerticalScrollIndicator=NO;// 弹簧效果sv.bounces=NO;// 代理方法中的bool值// decelerate代表松手以后sv是否会继续滑行(1代表会)// 如果页面实在导航里,而且第一个子视图是sv,那么系统会让这个sv有一个自动下沉的效果self.automaticallyAdjustsScrollViewInsets=NO;// sv中只能有一个子视图可以被缩放// 如果sv中有多个子视图,缩放的时候会对整个sv产生不可预料的后果// 最大、最小缩放倍数sv.minimumZoomScale=0.5;

sv.maximumZoomScale=2;// 放大缩小的代理- (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView

{return[scrollView viewWithTag:1];

}#pragma mark - UIPageControl// 翻页控制器UIPageControl *pc = [[UIPageControl alloc] initWithFrame:CGRectMake(100,450,0,0)];// 根据页数自动分配大小[pc sizeForNumberOfPages:5];// 设置页数pc.numberOfPages=5;// 小点点的颜色pc.currentPageIndicatorTintColor= [UIColorredColor];

pc.pageIndicatorTintColor= [UIColorgreenColor];// 一般关闭用户交互pc.userInteractionEnabled=NO;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,248评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,681评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,443评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,475评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,458评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,185评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,451评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,112评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,609评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,083评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,163评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,803评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,357评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,357评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,590评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,636评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,925评论 2 344

推荐阅读更多精彩内容