ios可视化编程 UI高级 UI_13
2023-09-27 14:26:37 时间
一、简单的说,IB Xib就是拖控件编程,也可以说是可视化编程(所见即所得),使用Xib编程,相对于纯代码,可以省下大量的敲代码时间,从而提高程序的开发时间,Xcode 4 之后才可以在工程中直接使用xib编程;
使用xib编程只是减轻了MVC中的V设计的工作量,学好Xib有助于了解MVC设计思想;
IB(interface bulider),以后称为xib,由于xib文件人能直接识别,所以xib会在编译后生成.nib文件(二进制文件);
Xib文件中在Xcode 的右侧边框比普通的文件多出4个选项卡,一共6个;
1.对当前文件的描述
2.辅助选项卡,主要用来查询
3.自定义选项卡,可以用来配置和当前Xib文件相关联的实体类,如果创建实体类的时候默认勾上also creat xib file,此时默认和实体类自动关联
4.控件属性选项卡(优先显示自己的属性,在下面显示它父类的属性)
5.配置控件的frame
6.查看和控件相关联的属性或者是方法、或者代理,或者是它所遵循的一些协议 files owner : 指当前xib文件中View所属于的视图控制器,此时view代表这个试图控制器的根视图 //这个方法是视图控制器的指定初始化方法
//如果不给nib文件名字,系统默认去查询找跟当前实体类同名的nib文件名赋值这里
//第二个参数当前程序文件名,[NSBundle mainBundle] 可以不写自动查找
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
易错点:reason: -[UITableViewController loadView] loaded the "Xnv-Ot-BAc-view-2Bh-PN-5hY" nib but didnt get a UITableView. 解决方法:后面跟着的视图拖错了,删除修改即可! __________________________________________________________ StoryBoard故事版: //如果一个视图上有多个按钮点击之后都要跳转到同一个界面,此时使用在视图控制器之间建立了segue连线,不过要给这个segue连线加一个标识
//如果只有一个按钮点击后跳转到下一个界面,此时使用按钮和视图控制器之间的连线
//实现button控件中的方法
- (IBAction)handlePush:(UIButton *)sender { //通过选择视图控制器的连线 segue ,完成页面之间的跳转
//通过segue完成跳转的时候会触发这个方法,在跳转之前触发,一般用来传值
//获取push过去后的视图控制器对象
DetailViewController *detailVC = [segue destinationViewController];
//把textField中的内容取出来赋值给下一个界面的属性
detailVC.string = rootVC.textField.text;// rootVC.textField.text 相当于 self.textField.text ==============================================================
阿里云EMAS-专家测试服务iOS和Android上百种机型性能、兼容及UI等测试 阿里云EMAS测试专家有着集团内部多个日活过亿规模APP经验,提供EMAS专家测试,客户只需提交测试需求,从用例设计、脚本录制、海量机型测试、整理测试结果、48小时输出专家测试报告均由阿里云EMAS测试专家一站式服务完成。覆盖功能测试、深度兼容测试、性能测试、UI适配测试以及隐私合规检测等,帮助用户以更低成本获得高质量的全面测试能力,可用于APP正式发版前验收,规避手机APP上线前或发版过程中各类隐患。
iOS UI 自动化测试原理以及在 Trip.com 的应用实践 笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。从而,笔者更深入地研究了 iOS 平台下的自动化测试技术,目前也在负责部门 App 自动化测试平台的搭建和维护。故想借这篇文章一并将所踩过的坑以及学习到的技术,系统且全面地整理出分享给大家。
flutter 在windows和linux上运行IOS UI模拟器 之前发视频总是有人留言,我用的什么模拟器,今天给大家说一下 我一般用的是device_preview这个插件,这个插件的闲置是只能做UI上的模拟,并没有真正的运行环境。 近似您的应用程序在另一台设备上的外观和性能。
如何优化iOS系统上的图文评论UI界面 在我们的社交 APP 上,⽤户的动态由精美的照⽚ 、视频和⽂字组成。对于每张照⽚和视频, 我 们都会展示出完整的标题和五个最新评论。由于⽤户喜欢使⽤标题来讲述照⽚背后的故事, 因此它们通常很⻓ 、很复杂, 并且可能包含超链 接和表情符号。渲染如此复杂的⽂本带来了⼀些问题, 它在滚动时造成性能下降。 即使在 iPhone 12 这样的新设备上, 复杂标题的初始⽂本绘制需要⻓达 50 毫秒, ⽽⽂本展示 需要⻓达 30 毫秒, 渲染速度很慢。⽂本问题还是简单问题, 有时我们需要加载更加复杂的图⽚甚⾄视频。所有这些步骤都发⽣在 UI 线程上, 导致app在⽤户滚动时丢帧。
在 iOS 上面开发界面,需要创建视图、配置界面、视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码。这还仅仅是界面设计,除此之外,完成 controllers 的回调、控制内部事务在界面上的显示效果、界面的操控和内部事务的联系等等多方面的事情都需要手动解决。
IB(interface bulider),以后称为xib,由于xib文件人能直接识别,所以xib会在编译后生成.nib文件(二进制文件);
Xib文件中在Xcode 的右侧边框比普通的文件多出4个选项卡,一共6个;
1.对当前文件的描述
2.辅助选项卡,主要用来查询
3.自定义选项卡,可以用来配置和当前Xib文件相关联的实体类,如果创建实体类的时候默认勾上also creat xib file,此时默认和实体类自动关联
4.控件属性选项卡(优先显示自己的属性,在下面显示它父类的属性)
5.配置控件的frame
6.查看和控件相关联的属性或者是方法、或者代理,或者是它所遵循的一些协议 files owner : 指当前xib文件中View所属于的视图控制器,此时view代表这个试图控制器的根视图 //这个方法是视图控制器的指定初始化方法
//如果不给nib文件名字,系统默认去查询找跟当前实体类同名的nib文件名赋值这里
//第二个参数当前程序文件名,[NSBundle mainBundle] 可以不写自动查找
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
易错点:reason: -[UITableViewController loadView] loaded the "Xnv-Ot-BAc-view-2Bh-PN-5hY" nib but didnt get a UITableView. 解决方法:后面跟着的视图拖错了,删除修改即可! __________________________________________________________ StoryBoard故事版: //如果一个视图上有多个按钮点击之后都要跳转到同一个界面,此时使用在视图控制器之间建立了segue连线,不过要给这个segue连线加一个标识
//如果只有一个按钮点击后跳转到下一个界面,此时使用按钮和视图控制器之间的连线
//实现button控件中的方法
- (IBAction)handlePush:(UIButton *)sender { //通过选择视图控制器的连线 segue ,完成页面之间的跳转
//通过segue完成跳转的时候会触发这个方法,在跳转之前触发,一般用来传值
//获取push过去后的视图控制器对象
DetailViewController *detailVC = [segue destinationViewController];
//把textField中的内容取出来赋值给下一个界面的属性
detailVC.string = rootVC.textField.text;// rootVC.textField.text 相当于 self.textField.text ==============================================================
阿里云EMAS-专家测试服务iOS和Android上百种机型性能、兼容及UI等测试 阿里云EMAS测试专家有着集团内部多个日活过亿规模APP经验,提供EMAS专家测试,客户只需提交测试需求,从用例设计、脚本录制、海量机型测试、整理测试结果、48小时输出专家测试报告均由阿里云EMAS测试专家一站式服务完成。覆盖功能测试、深度兼容测试、性能测试、UI适配测试以及隐私合规检测等,帮助用户以更低成本获得高质量的全面测试能力,可用于APP正式发版前验收,规避手机APP上线前或发版过程中各类隐患。
iOS UI 自动化测试原理以及在 Trip.com 的应用实践 笔者入职 Trip.com 已满一年,回顾这一年的工作历程,约一半的时间都在做 UI 自动化测试相关内容。从而,笔者更深入地研究了 iOS 平台下的自动化测试技术,目前也在负责部门 App 自动化测试平台的搭建和维护。故想借这篇文章一并将所踩过的坑以及学习到的技术,系统且全面地整理出分享给大家。
flutter 在windows和linux上运行IOS UI模拟器 之前发视频总是有人留言,我用的什么模拟器,今天给大家说一下 我一般用的是device_preview这个插件,这个插件的闲置是只能做UI上的模拟,并没有真正的运行环境。 近似您的应用程序在另一台设备上的外观和性能。
如何优化iOS系统上的图文评论UI界面 在我们的社交 APP 上,⽤户的动态由精美的照⽚ 、视频和⽂字组成。对于每张照⽚和视频, 我 们都会展示出完整的标题和五个最新评论。由于⽤户喜欢使⽤标题来讲述照⽚背后的故事, 因此它们通常很⻓ 、很复杂, 并且可能包含超链 接和表情符号。渲染如此复杂的⽂本带来了⼀些问题, 它在滚动时造成性能下降。 即使在 iPhone 12 这样的新设备上, 复杂标题的初始⽂本绘制需要⻓达 50 毫秒, ⽽⽂本展示 需要⻓达 30 毫秒, 渲染速度很慢。⽂本问题还是简单问题, 有时我们需要加载更加复杂的图⽚甚⾄视频。所有这些步骤都发⽣在 UI 线程上, 导致app在⽤户滚动时丢帧。
在 iOS 上面开发界面,需要创建视图、配置界面、视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码。这还仅仅是界面设计,除此之外,完成 controllers 的回调、控制内部事务在界面上的显示效果、界面的操控和内部事务的联系等等多方面的事情都需要手动解决。
相关文章
- 《大话移动APP测试:Android与iOS应用测试指南》
- iOS 6编程Cookbook(影印版)
- Objective-C 高级编程:iOS与OS X多线程和内存管理
- 微信小程序 - 完美解决 web-view 公众号文章或第三方网站分享转发后,打开提示 “无法打开该页面,不支持打开” 或 “页面不存在”(IOS 苹果系统打开是空白页,安卓系统会有提示)超详细排查
- IOS事件处理机制(关于触发者和响应者的确认)
- iOS编程(双语版)-视图-Autolayout代码初步
- iOS编程(双语版) - 视图 - 手工代码(不使用向导)创建视图
- Chrome Apps将可以打包成iOS或Android应用
- iOS快速打企业包ipa
- 《iOS编程指南》——1.1节优点和缺点
- 《iOS编程指南》——第 1 章为何选择本地化应用
- 《iOS编程指南》——1.3节做好了用户自然会来
- 《iOS编程指南》——2.4节安装iOS SDK
- 《iOS编程指南》——2.5节准备你的iOS设备
- iOS里int如何转换成NSData
- iOS开发个人开发账号的证书详细使用及介绍
- iOS开发-多台机器共用证书问题
- iOS实现图形编程可以使用三种API(UIKIT、Core Graphics、OpenGL ES及GLKit)
- iOS中WebKit框架应用与解析
- iOS教你轻松打造瀑布流Layout
- iOS开发系列--通知与消息机制
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- iOS - 开发屏幕及视图层次
- iOS开发之网络编程--5、NSURLSessionUploadTask+NSURLSessionDataDelegate代理上传
- IOS开发之网络编程--文件压缩和解压缩
- iOS开发之网络编程--使用NSURLConnection实现大文件断点续传下载
- IOS定位元素常用场景
- iOS GCD 多核编程(dispatch_async、dispatch_queue)