UI基础第三天(知识点)
2016-05-22 22:45
387 查看
一、Xcode快捷键
shift + comand + n 新建xcode项目option + command + n 新建分组
command + n 新建文件
control + comand + 上/下 .m/.h文件切换
control + comand + 左/右 上一个和下一个文件之间的切换
command + ~ 窗口之间切换
ontrol + command + j 查看定义
option + command + 左/右 折叠/展开代码块
command + r 编译运行项目
command + b 编译不运行
command + . 停止
二、xib和stroryboard的区别
1、相同点:
都用Interface Builder工具来编辑都使用xml来存储,用于描述软件界面
2、不同点:
Storyboard描述软件界面,相对于xib比较重量级,一个stroryboard可以有多个场景,可以描述整个软件的所有界面xib一般用来描述一个界面中的某一个部分
查看xib和storyboard的xml代码,区别仅仅是xib少了Scenes和viewController
三、instancetype和id的区别
instancetype在类型表示上与id一样,都是表示任何对象的类型instancetype只能用在返回类型上,不能跟id一样用在参数类型上,id是万能类型
instancetype比id多一个好处,编译器会检测instancetype的真实类型
四、自定义View
1、注意:
要调整View的尺寸大小,要再属性栏的Size设置为Freeform要把显示电池状态的图标去掉,把属性栏的Status Bar设置为None
拖进View的子控件的尺寸尽量在尺寸栏上设置,以免出现界面自动调整大小
2、编辑View的类
把所有关于View的操作都封装,降低耦合程度读取XIB文件
//新建子View +(instancetype)buildView{ NSBundle *bundle = [NSBundle mainBundle]; SSView *view = [[bundle loadNibNamed:@"SSView" owner:nil options:nil] lastObject]; return view; }
在重写关于取子控件的值的Getter方法时不要忘记先赋值
//重写setter方法,初始化子控件 -(void)setData:(SSData *)data{ //不要漏掉,漏掉后在点击事件时调用就取不到数据 _data = data; //添加应用图片 self.imageView.image = [UIImage imageNamed:data.photo]; //添加应用名称 self.nameLabel.text = data.name; }
取消与用户交互
//下载时取消和用户的交互 self.superview.userInteractionEnabled = NO; //下载完成后禁用 sender.enabled = NO;
五、补充
类名命名:公司名+类名IBOutlet类型的属性命名:有意义的单词+控件名
方法名命名规则:第一个单词首字母小写,后面的每个单词的首字母大写
同时重写get和set方法时,要自己定义成员变量,系统不自动生成
NSBundle表示APP应用的包
获取APP的路径函数:NSHomeDirectory();
不能把XIB上的子控件直接拖到@implementation...@end上生成连线代码
在写两个相同功能的构造方法时,一般用类方法调用对象方法
相关文章推荐
- GUI - Web前端开发框架
- 评价ui设计作品好坏的八个标准(界面/交互设计研究)
- Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
- 为Yahoo! UI Extensions Grid增加内置的可编辑器
- Cocos2d-x UI开发之文本类使用实例
- 谈谈对jquery ui tabs 的理解
- 在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
- UI Events 用户界面事件
- jquery UI Datepicker时间控件的使用方法(基础版)
- Hallo.js基于jQuery UI所见即所得的Web编辑器
- 基于jQuery UI CSS Framework开发Widget的经验
- jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
- jquery UI Datepicker时间控件的使用及问题解决
- jQuery UI设置固定日期选择特效代码分享
- Jquery ajax 同步阻塞引起的UI线程阻塞问题
- jQuery UI的Dialog无法提交问题的解决方法
- jQuery ui实现动感的圆角渐变网站导航菜单效果代码
- jquery UI Datepicker时间控件的使用方法(终结版)
- jquery UI Datepicker时间控件的使用方法(加强版)
- 关于jQuery UI 使用心得及技巧