UI基础控件整理版
来源:互联网 发布:mac照片上传icloud 编辑:程序博客网 时间:2024/05/22 06:07
自己创建的对象要强引用,strong,即代码创建需要用strong。
如果使用storyboard创建,就要用weak,该对象是由系统创建的,由系统回收,不需要让计数器+1.
OutletCollection是strong,是因为数组是我们自己创建的,用来存储数组的,但是里面存储的按钮是weak的,是系统创建的。
控制器自带的几个方法,
-(void)viewWillAppear:(BOOL)animated{};
-(void)viewDidDisappear:(BOOL)animated{};
-(void)viewWillDisappear:(BOOL)animated{};
-(void)viewDidDisappear:(BOOL)animated{};
OC中所有角度相关的都是弧度。M_PI_4 pi除以4
UILabel
核心属性示例:
label.frame = CGRectMake(0,0, self.tableView.frame.size.width,40);
//字体
label.font = [UIFontitalicSystemFontOfSize:24];
label.textColor = [UIColorredColor];
//阴影
label.shadowColor = [UIColorgreenColor];
label.shadowOffset = CGSizeMake(1, 1);
//居中
label.textAlignment = NSTextAlignmentCenter;
UIButton
按钮的四个状态
forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现
enum {
UIControlStateNormal = 0, 常规状态显现
UIControlStateHighlighted = 1 << 0, 高亮状态显现
UIControlStateDisabled = 1 << 1, 禁用的状态才会显现
UIControlStateSelected = 1 << 2, 选中状态
};
使用如下方法改变button里的文字。
[self.myButton setTitle:<#(nullable NSString*)#> forState:<#(UIControlState)#>];
用如下方法来回切换按钮的是否被选择状态。
self.button.selected = !self.button.selected;
用如下方法来设置按钮是否可点击。
self.myButton.enabled =YES;
谁发生了事件,谁就是sender,类似self。
使用Outlet Collection的时候,数组里存储的对象是有顺序的,按照我们的连线顺序来确定,所以连线的时候要一个一个的连线,不能偷懒,这样会确定按钮的顺序。
Outlet collection
@property (strong,nonatomic) IBOutletCollection(UIButton)NSArray *allButtons;
确定某个按钮用
self.allButtons[2]
调用方法,取得点击的按钮的数组下标
- (IBAction)allClickButton:(id)sender {
NSInteger*index = [self.allButtonsindexOfObject:sender];
NSLog(@"%ld",index);
}
UIStepper
作用:用于记录一个可以进行精确调整的数值,只有存储功能,没有显示数值这个功能,所以为了看到存储的这个数值,一般都会搭配一个label来显示。
核心属性 :value
重要事件:valueChanged
UISlider
作用:用于记录一个可变化的数值,该数值修改时通过滑动动作的大小,不是很能准确的控制数值变化的过程
核心属性 :value
重要事件:valueChanged
UISwitch
作用:用于记录是或否的一个状态
核心属性 :on (BOOL)
重要事件:valueChanged
使用如下方法改变value,会有动画效果,如果直接对on赋值,点击时没有动画效果,一般不使用。
[self.mySwitch setOn:<#(BOOL)#>animated:<#(BOOL)#>];
UITextField
作用:用于记录一个可变化的数值,该数值修改时通过滑动动作的大小,不是很能准确的控制数值变化的过程用于记录用户输入的文本
核心属性 :text (NSString)
重要事件:valueChanged
如何关闭键盘:
关闭方法一:
让textField放弃第一响应者。
成为第一响应者:[self.mytext becomeFirstResponder];
放弃第一响应者:[self.mytext resignFirstResponder];
关闭方法二:设置文本框所在的父视图结束编辑状态即可(结束编辑状态:系统会遍历父视图下所有的文本框,并且将所有文本框都设置为放弃第一响应者身份)(如果一个视图里有很多文本框,又不想判断哪个文本框是第一响应者的话,这个方法优势极为明显,一般采用这个)
结束父视图的编辑状态:[self.view endEditing:YES];
关闭键盘的时机:
时机一:点击键盘右下角的按键,为文本框创建一个事件 Did End On Edit,对这个事件连线。
时机二:点击屏幕空白处的时候,产生事件。触摸空白处的时候,为了让控制器响应,touches开头的方法都是控制器处理的。
-(void)touchesBegan:(NSSet<UITouch *>*)touches withEvent:(UIEvent *)event{};
两个与用户交互的界面
UIAlertView警告框,ios9之后改用UIAlertController,用户并不喜欢弹框,除非重要性的信息,否则一般不用弹框。模态形式显示。
模态窗口:如果用户不关闭,就无法继续操作
UIActionSheet操作表,出现在屏幕底部。
UIImageView
作用:存放图片
核心属性 :frame
重要事件:initWithImage
使用要点:使用的图片一定要放在图片库里,如果不放的话就会加载不出来。这个一定要做
Assets.xcassets(把图片拖到这个里面,要不就放到根目录,不然应用找不到路径)
UIScrollView
作用:
核心属性 :frame大小
contentSize
contentOffset距离内容左顶点的偏移量,可读可写,手动更改,让视图显示某一个部分。
使用要点:a、可以添加多个子视图。
b、添加完子视图之后,需要将UIScrollView添加到self.view中。
c、当想处理用户针对滚动视图做出的动作时,设置滚动视图的代理,让代理遵守协议,然后代理响应什么动作,就去协议中找一个合适的方法实现即可。
重要事件:
UIPageControl
作用:
核心属性 :frame
重要事件:initWithImage
使用要点:要放在ViewController上,不要放在ScrollView上,
- UI基础控件整理版
- UI基础整理-21
- UI基础整理-2
- UI基础整理-3
- UI基础整理-4
- UI基础整理-5
- UI基础整理-6
- UI基础整理-7
- UI基础整理-8
- UI基础整理-9
- UI基础整理-10
- UI基础整理-11
- UI基础整理-12
- UI基础整理-13
- UI基础整理-14
- UI基础整理-15
- UI基础整理-16
- UI基础整理-17
- 高质量C++C编程指南笔记
- Java单例集合下set接口及其常用实现类
- 利用python如何远程服务器,获取其基本信息
- struts2拦截器的故事
- 大话设计模式学习篇--简单工厂模式
- UI基础控件整理版
- Sublime Text学习笔记
- LeetCode:Remove Nth Node From End of List
- HDUoj 3666 THE MATRIX PROBLEM 差分约束
- 基本的ListView实现
- Codeforces 599D:Spongebob and Squares
- 蓝桥杯基础练习 数列特征
- 第五章 数组的数组的顺序存储表示和实现
- hdoj 1087Super Jumping! Jumping! Jumping!