看完了”如何正确地写好一个界面”http://oncenote.com/2015/12/08/How-to-build-UI/里关于轻VC的探讨,感觉很有启发.现在都是为了功能而写的,VC类很臃肿,一定要改.
1.使用Xcode自带的静态分析工具 Product->Analyze可以找出代码潜在错误,如内存泄露,未使用函数和变量等
出现 value stored to dic during its initialization is never read
设置为:
NSDictionary * dic = nil;
以前为
NSDictionary * dic = [NSDictionary dictionary];
2.宏:
3.使用SWRevealViewController来实现左右侧拉
(1)确立中间视图和左右视图
(2)导入,在AppDelegate中写东西
// 左边
LeftViewController * leftViewController = [[LeftViewController alloc]init];
// 首页
MiddleViewController * centerViewController = [[MiddleViewController alloc]init];
// 右边
RightViewController * rightViewController = [[RightViewController alloc]init];
SWRevealViewController * revealViewController = [[SWRevealViewController alloc]initWithRearViewController:leftViewController frontViewController:centerViewController];
revealViewController.rightViewController = rightViewController;
// 浮动层离左边距的宽度
revealViewController.rearViewRevealWidth = 260;
// 右边距离
revealViewController.rightViewRevealWidth = 260;
[revealViewController setFrontViewPosition:FrontViewPositionLeft animated:YES];
self.window.rootViewController = revealViewController;
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
(3)在MiddleViewController中添加
SWRevealViewController * revealController = self.revealViewController;
[self.view addGestureRecognizer:revealController.panGestureRecognizer];
4.限制TextField输入长度
(1)给textField添加事件
[YJtextField addTarget:self action:@selector(changeTextField:) forControlEvents:UIControlEventEditingChanged];
(2)实现方法
-(void)changeTextField:(UITextField *)textField{
// 限制输入长度,如果长度大于5的话,让textField的text长度控制在5以内
if (textField.text.length > 5) {
textField.text = [textField.text substringToIndex:5];
}
}