暑假第一周的任务
- 学习了多数常用的UI控件
- 完成了网易云界面发现界面和账号界面的仿写
- 下面是任务的截屏
仿写网易云界面遇到的一些问题
自定义cell 以及cell的复用问题——遇见最多的问题
例如在设计账号界面最上面的部分时,上面总共有六个按钮,一开始并没有在自定义cell中定义按钮,而是写在了自定义cell的- (instancetype) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier;方法中,导致程序上下拖动时,会多次创建UIButton,在Xcode中打开手机的横截面,会放下叠置了多层按钮,浪费了内存。解决方法在自定义cell中设置好button的各种属性。
一些零散的问题·
1.自定义cell中的UI控件前需要加修饰符(nonatomic, strong);
NSMutableArray: (nonatomic, strong);
NSArray:(nonatomic, copy).
NS控件中一般可变的都用strong修饰,不可变的用copy修饰
2.在我的界面中设置图片下的文字时,会出现一行和两行对不齐的问题
解决方案,在单行的UILabel中加回车换行,代码如下:
// sLabel.lineBreakMode = UILineBreakModeClip;
// sLabel.text = [secondArray[i] stringByAppendingString:@"\n\n"];
3.在导航栏上加入了搜索框,在点击云朵切换导航栏时,搜索框依然存在,解决方案,将注释的代码换成下面的代码,即可解决问题。
// [self.navigationController pushViewController:viewControllerRoot animated:YES];
[self.navigationController presentViewController:navigationController animated:YES completion:nil];
4.最开始书写代码时经常使用缩写以及加入数字,书写代码不规范。(已纠正)