UI第十四天:UI⾼级可视化设计
来源:互联网 发布:淘宝卖眼药水 编辑:程序博客网 时间:2024/06/11 10:46
⼀、Interface Builder 可视化编程
简称IB,是Mac OS X和iOS平台下⽤于设计和测试⽤户界⾯的 应⽤程序。
提供了拖放⾯板,可以将控件拖放到屏幕上。
IB创建.xib⽂件,包括视图布局,以XML格式存储。
程序运⾏后,.xib⽂件中的内容编译为.nib⽂件(⼆进制⽂件), 存储在⼯程包中。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle: (NSBundle *)nibBundleOrNil
nibNameOrNil是.xib⽂件的名字。注:nibNameOrNil如果填 nil,默认找与类同名的.xib⽂件(LoginViewController.xib LoginView.xib)。
可以直接使⽤init⽅法,默认找相关的.xib⽂件。
插座变量。⽤于控制IB中的UI控件。
IBOutlet,外联指针。连接插座变量和IB中的UI控件
设置:选中控件,按住command,向类中拖放,设置变量 名。
动作。⽤于响应UI控件的触发事件。
IBAction。连接⽅法和IB中的UI控件
设置:选中控件,按住command,向类中拖放,设置⽅法 名。
⼆、Storyboard可视化编辑中的Segue使⽤⽅式
在AppDelegate的-application: didFinishLaunchingWithOptions:⽅法中不要再⽤代码初始化 ⼀个window
利将创建好的Storyboard在应⽤程序配置General中设置为 Main Interface
视图添加与控制和IB开发⼀样。
controller可以设置标识,通过标识从storyboard创建视图控 制器对象。
UIStoryboard,storyboard对象。视图控制器有属性 storyboard。也可以通过⽂件名创建对应的storyboard⽂件对 象。
[self.storyboard instantiateViewControllerWithIdentifier:**]
利⽤segue去push视图控制器。
选中按钮,按住command,从按钮向下⼀级⻚⾯连线。按钮不 需要添加响应⽅法。
注:适⽤于不存在传值的⻚⾯切换
要给segue设置唯⼀的标识符
利⽤segue去push视图控制器的时候,使⽤ 视图控制器的实例⽅法:
- ( void)performSegueWithIdentifier: (NSString *)identifier sender:(id)sender;
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender segue触发之后,下⼀个⻚⾯显⽰之前执⾏。
segue包含3个重要的属性:identifier、sourceViewController、 destinationViewController。
通过destinationViewController获取下⼀个⻚⾯对象。实现传值
三、Storyboard可视化编辑中的⾃定义单元格
单元格指的是UITableView的cell
在Storyboard中,可以直接在 TableView上添加Prototype Cells
可以在Prototype Cells中的单元格中 添加⾃定义⼦视图
选中Prototype Cells中的单元格后在Xcode⼯具的右边的检查器⼯ 具中修改单元格的标⽰符,注意标⽰符要与该表格视图的其他单元 格区分
如果有⾃定义单元格类的话,并且在⾃定义单元格类中添加了IB 修饰符修饰的属性和⽅法,需要在Storyboard的单元格检查器中的 Custom Class修改为⾃定义的类
四、Storyboard可视化编辑中的⾃适应布局(AutoLayout)
在Storyboard中进⾏配置,添加约束
约束:视图布局的规则。
利⽤约束可以指⽰:视图在同⼀⽔平⾏上对⻬、调整视图⼤⼩匹 配其他视图等等
/*
添加约束条件:
真谛:每个空间至少添加四条约束条件(跟Frame一样 x y 宽高)只可多不可少
1.首先要先确定好一个控件约束(必须正确)
2.其次跟手写Frame一样需要依据上一个控件的约束来添加下一个控件的约束
3.最后添加完成后看一下有没有报红(少约束条件)报黄(需要更新一下约束或者Frame)然后查看个屏幕下的视图布局是否正确
*/
/*
删除属性步骤
1.删除代码
2.删除属性连线
3.把自动生成deallco删除
添加约束条件:
真谛:每个空间至少添加四条约束条件(跟Frame一样 x y 宽高)只可多不可少
1.首先要先确定好一个控件约束(必须正确)
2.其次跟手写Frame一样需要依据上一个控件的约束来添加下一个控件的约束
3.最后添加完成后看一下有没有报红(少约束条件)报黄(需要更新一下约束或者Frame)然后查看个屏幕下的视图布局是否正确
*/
/*
删除属性步骤
1.删除代码
2.删除属性连线
3.把自动生成deallco删除
*/
// 拉线跳转会触发这个方法 (一般传值使用)
// 但是一个界面可以去往很多界面并且都可以通过拉线完成这时候就需要判断一个要操作的是那一根连线
// 需要用segue的identifier属性去判断
//属性初值步骤
//1.给segeue(跳转的线)加一个 identifier(标识)
//2.通过标识判断出你要操作的线
//3.取出目的地控制器
// 但是一个界面可以去往很多界面并且都可以通过拉线完成这时候就需要判断一个要操作的是那一根连线
// 需要用segue的identifier属性去判断
//属性初值步骤
//1.给segeue(跳转的线)加一个 identifier(标识)
//2.通过标识判断出你要操作的线
//3.取出目的地控制器
//4.利用目的地控制器传值
/*
sizeclass
九宫格 控制苹果产品的屏幕(适配)
4个格子 BaseView状态下是一个基础状态 这是你无论添加的是控件还是给控件添加的约束条件 都可以被其他之态继承下来
横2格是iPhone横屏状态下你多加的控件和约束条件是不会被继承只有横屏显示
竖3格是iPhone横屏状态下你多加的控件和约束条件是不会被继承只有竖屏显示
8字真言 戒骄戒躁千锤百炼
*/
sizeclass
九宫格 控制苹果产品的屏幕(适配)
4个格子 BaseView状态下是一个基础状态 这是你无论添加的是控件还是给控件添加的约束条件 都可以被其他之态继承下来
横2格是iPhone横屏状态下你多加的控件和约束条件是不会被继承只有横屏显示
竖3格是iPhone横屏状态下你多加的控件和约束条件是不会被继承只有竖屏显示
8字真言 戒骄戒躁千锤百炼
*/
//利用XIB文件加载视图控制器并作为window的根视图控制器
RootViewController *root = [[RootViewControlleralloc]initWithNibName:@"RootViewController"bundle:[NSBundlemainBundle]];
0 0
- UI第十四天:UI⾼级可视化设计
- UI第十四天
- 第十四讲:UI⾼级可视化设计
- iOS-学习笔记-UI-第十四天
- UI基础-UI高级 可视化设计
- 随意细解:UI -- 可视化设计
- 17-1 UI高级可视化设计
- android UI 可视化工具
- Java UI 可视化设计工具 windowbuilder 的安装
- Java可视化编程,基于布局管理器的UI设计
- 网页设计大赛第十四天
- 设计模式学习第十四天
- android基础第一篇 UI设计
- UI设计
- ui设计
- UI设计
- UI设计
- UI设计
- c++命令结束进程树
- 指向指针的指针(2)
- SpringMVC配置及初级入门11_30
- 自己实现的一个list双链表
- 在中间件维护的时候应该注意tns的地方 -------运维日志7
- UI第十四天:UI⾼级可视化设计
- 【Android】RecyclerView的OnItemClickListener点击事件处理
- 微信开发数据收发原理及消息数据格式
- C++ 友元应用
- 【C#】窗体透明度、ListBox的增删改查
- scala并发编程第二章习题
- 奇异值分解的几何解释及其应用
- 【项目经验】——文本框限制输入字符长度
- 用户角色权限管理系统-----java web 脚手架搭建(一)