IOS:个人笔记|UI__UIView_UILabel
看的是15年之前的教学视频,外加前辈们写的文章。自己随手记录一些知识点,不定时修改或者补充。
开始一些琐碎的知识点
应用程序启动流程:
加载Main interface所指定的一个控制器(如果是自己创建的storyboard,需要点击右侧的作为初始界面或者在maininterface指定,左侧有个箭头即表示成功指定初始界面),然后加载控制器中的view
IBAction
从返回值角度上看,相当于void
返回值声明为IBAction的方法,才能跟界面的控件进行连线
IBOutlet
声明为IBOutlet的属性,才能与界面的控件进行连线
一般将本类的控件声明,方法,变量都放在.m的类扩展中
控件一般用weak修饰,因为当前view已经被强指针指向,view上的控件没必要用strong
IB全称:Interface Bulider
Xcode4之前,用的是xcode+interfaceBulider同时进行开发
两个经典的错误
setValue:forUnderfinedKey,this class is not key value coding-compliant for the key
原因:有多余的连线。解决:删除多余的连线
Unrecognized seletor send to instance
原因:没找到该方法。解决方式,写对应的方法,或者删除多余的连线
============================================================================
UIVIEW
所有的控件最终都继承自UIView,苹果将控件的共同属性都抽取到父类UIView中
每个控件都一个容器,可以将其他控件放到该控件内部,常见是将UIView作为容器
每个控制器都有一个UIView,控制器本身不可见,可见的是控制器的View,每个控制器都有一个UIView的属性。
UIView常见属性
Superview 获取自己父控件对象
Subviewss 子控件对象
CGRect frame 控件矩形框在父控件的位置和尺寸,以父控件的左上角为坐标原点
CGRect bounds 控件矩形框的位置与尺寸,以自己的矩形框左上角为为原点,所以x,y一般是0,0(ios9以前改变尺寸,左上角位置不变,9以后中心点不变)
CGPoint center 控件中心的位置,以父控件左上角为原点。(可以利用这个改变控件位置)
=-===================
Viewdidload方法,1系统调用,2控制器的view加载完毕的时候调用,3控件的 初始化,数据的初始化(懒加载)
didRReceiveMemoryWarning 方法 ,1:系统调用,2:控制器接收到内存警告时候调用。33:去除一些不必要的耗时的内存
控制器的子控件,除了本身添加的,还有两个是打勾userAUTOlayout自动添加的
常见方法
addSubview 添加子控件
removefromSuperView,从父控件移除
-(UIView *)viewwithtag .提前做好tag标识,然后可以通过self.view拿到子控件。tag效率很差,使用多了容易乱,尽量少使用tag
====
视频中附带着的零碎知识点
UITextfield 控件,右侧的placeholder,占位字,给用户提示。点击后弹出键盘的类型在keyboard type更改
页面毛玻璃,模糊效果
1 UIImageView *imageview3=[[UIImageView alloc]init]; 2 UIToolbar *test=[[UIToolbar alloc ]init]; 3 test.frame=self.view.bounds; 4 test.barStyle=UIBarStyleBlack; 5 test.alpha=0.98; 6 [imageview3 addSubview:test];
Label
label常见作用显示文字
常见属性
Text 文字
Font 字体大小
Textcolor 字体颜色
textAlignment 对齐模式
numberOflines 文字行数
LineBreakMode 换行模式
----
UI界面右侧设置的一些知识点。lines设置为0,可以自动换行。Line Breaks设置中,分为三小块,分别是直接显示不做变化,,改变每行最后单词还是字符结尾,省略号位置。shadow阴影设置
代码中设置字体大小的时候,UIFont systemFontOfSize,不使用systemFontIOfSize可以设置字体其它例如加粗,斜体等等。下面是常见的设置
1 -(void)testLabel{ 2 //创建,设立位置 3 UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(40, 40, 200 , 50)]; 4 //设置内容 5 label.text=@"Good morning Good morning Good morning Good morning Good morning"; 6 //设置文字颜色 7 label.textColor=[UIColor purpleColor]; 8 //设置字体大小 9 label.font=[UIFont systemFontOfSize:15]; 10 //设置字体粗体 11 label.font=[UIFont boldSystemFontOfSize:20]; 12 //设置斜体 13 label.font=[UIFont italicSystemFontOfSize:15]; 14 //设置居中 15 label.textAlignment=NSTextAlignmentCenter; 16 //设置label的背景颜色 17 label.backgroundColor=[UIColor grayColor]; 18 //设置阴影 19 label.shadowColor=[UIColor blueColor]; 20 //设置阴影偏移量 21 label.shadowOffset=CGSizeMake(3, 3); 22 //设置显示行数 23 label.numberOfLines=0; 24 //设置显示模式 25 label.lineBreakMode=NSLineBreakByWordWrapping; 26 [self.view addSubview:label]; 27 }