【Objective-C学习记录】第三十八天

自定义视图现在有些混乱,屡一下大概的编写思路:

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;

原文地址:https://www.cnblogs.com/shvier/p/5114356.html