【Swift 2.2】iOS开发笔记(三)
1、UITableView 中调用 UIButton 的 setTitle 会闪
滚动列表时比较明显,解决办法: buttonType 改成 custom 即可,但是这样一来 UIButton 的高亮效果也没了,但可以自己手动配置 State Config
2、监听 UITextField 文本改变
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { let text = NSString(string: textField.text!).stringByReplacingCharactersInRange(range, withString: string) }
更好的办法:http://stackoverflow.com/questions/7010547/uitextfield-text-change-event
3、模拟较差的网络
iPhone 设置 >> Developer >> Network Link Conditioner
4、如果支持 iOS 9 多任务分屏,在 iPad 上将无法控横竖屏相关的设置(shouldAutorotate、supportedInterfaceOrientations 都不会回调)
https://forums.developer.apple.com/message/13508#13508
5、UINavigationController 替换当前 UIViewController
1 2 3 4 5 6 7 8 9 10 | extension UINavigationController { func replaceLastViewController ( controller : UIViewController ) { let stackViewControllers = NSMutableArray ( array : self . viewControllers ) stackViewControllers . removeLastObject () stackViewControllers . addObject ( controller ) setViewControllers (( stackViewControllers as NSArray ) as ! [ UIViewController ], animated : true ) } } |
如果先 pushViewController 再 removeFromParentViewController 当前 ViewController 返回的 title 会错乱
6、自定义静态 Cell 左右边距对齐的问题
直接加约束设置 15 在 iPad 上显示会有问题,办法: 在 Storyboard/xib 中设置自定义 Cell 和 contentView 的 Preserve Superview Margins 为 true,然后设置 label 的 leadingMargin 为 0 ,注意是要勾选 margin:
7、Swift 3.0 判断泛型类型
if T.self == Class.self {
}
本文转自博客园农民伯伯的博客,原文链接:【Swift 2.2】iOS开发笔记(三),如需转载请自行联系原博主。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【Swift 4.0】iOS 11 UICollectionView 长按拖拽删除崩溃的问题
功能 用 UICollectionView 实现两个 cell 之间的位置交互或者拖拽某个位置删除 问题 iOS 11 以上拖拽删除会崩溃,在 iOS 9、10 都没有问题 错误 017-10-11 11:38:02.692004+0800 MOCR[2585:1047221] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'attempting to invalidate an item at an invalid indexPath: <NSIndexPath: 0x1c442a680> {length = 2, path = 0 - 1} globalIndex: 1 numItems: 1' *** First throw call stack: (0x181f3bd38 0x181450528 0x181f3bc0c 0x1828cac24 0x18be1091c 0x18bdd2ab8 0x18b4b74ac 0x18b4...
- 下一篇
【Android】pidcat 不显示日志输出
问题: 直接安装了 pidcat : brew install pidcat ,装完以后执行 pidcat <package name> ,发现没有日志输出,adb devices 也能显示设备,又试了一下 adb logcat 能输出日志。 解决 卸载 pidcat: brew uninstall pidcat,安装开发版本即可:brew install --HEAD pidcat ,参考帖子。 本文转自博客园农民伯伯的博客,原文链接:【Android】pidcat 不显示日志输出,如需转载请自行联系原博主。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- 2048小游戏-低调大师作品
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境