您的位置:首页 > 产品设计 > UI/UE

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上生成连线代码
在写两个相同功能的构造方法时,一般用类方法调用对象方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息