自定义视图现在有些混乱,屡一下大概的编写思路:
1.新建一个视图控制器,将此视图控制器指定为window的根视图控制器
2.自定义视图LTView,明确LTView内部的控件,声明为属性,重写initWithFrame:布局方法,先将子视图添加上去。完善显示效果,需要再去定义一个初始化方法,参数为视图的显示属性
3.自定义视图,明确内部控件,声明为属性,重写initWithFrame:布局方法,添加子视图
4.视图控制器内部,重写loadView方法,指定视图控制器的空白视图为自定义的视图(或者可以不建立自定义视图,在视图控制器的viewDidLoad方法里面,加载视图,完善视图控制器)
5.在视图控制器内部为输入框设置代理,为按钮添加事件。
同时不要忘记内存管理
然后是新学到的一些触摸的方法,iOS将触摸分为三个时间段:
1.触摸开始
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
2.触摸移动
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
3.触摸结束
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event;
与屏幕旋转有关的方法:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration ;
这个方法已经被不推荐使用,用下面的方法代替
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator ;
只要视图本身的bounds发生变化,此方法就会被执行
- (void)layoutSubViews;