iOS 适配
番薯大佬
码农一枚
展开
-
iOS13适配—— presentViewController模态弹出默认样式改变
为什么在 iOS13中,presentViewController新的视图控制器时不是全屏的?在 iOS13中,presentViewController新的视图控制器时,是以分页模式展示的,而不是以往的全屏模式。原因是因为苹果将 UIViewController 的 modalPresentationStyle 属性的默认值改成了新加的一个枚举值 UIModalPresentationAu...原创 2020-03-15 00:43:48 · 4738 阅读 · 0 评论 -
iOS 13适配——暗黑模式
iOS13有什么亮点?iOS 13.0正式版发布以来,最大的亮点还是新增的支持Dark Mode(暗黑模式)。暗黑模式可以有效地舒缓眼睛?我觉得更多的是心理上的安慰。原理上来说暗黑模式仅仅是关闭了背景亮度,同时调整了可视内容的颜色,比如暗黑模式下文字以白色为主等等。它实际上并没有改变屏幕的“频闪”问题,当你长时间看屏幕的时候依旧会有视觉疲劳的症状。当然,暗黑模式也让用户在暗黑的环境下更友...原创 2020-03-14 23:20:07 · 2155 阅读 · 0 评论 -
Masonry适配——(7)UITableView中自定义UITableViewCell高度自适应及计算
https://github.com/potato512/SYDemo_Masonry在UITableView列表的使用中,因为在自定义的UITableViewCell中页面相对复杂,所以会出现每一个cell都有不同的高度。这时候就需要根据实际内容进行cell的更新约束,其实说到底也就是哪些UI子视图应该显示,或隐藏,哪些UILabel标签高度是这个数值,哪些UILabel标签的高度是那个数值原创 2017-01-17 16:15:31 · 6984 阅读 · 2 评论 -
Masonry适配——(8)UICollectionView的使用
github:https://github.com/potato512/SYDemo_MasonryUICollectionView视图结合masonry适配的使用。UICollectionView视图中,使用了自定义header页眉视图、footer页脚视图,以及自定义的cell单元格视图。效果图代码示例(包含自定义header、footer、ce原创 2017-01-18 11:06:18 · 7145 阅读 · 2 评论 -
Masonry适配——(3)UILable如何设置多行显示
UILabel在使用过程中,一个重要的特性是可以进行多行显示,或者是自定义显示行数。同时呢,在设置多行显示的过程中,还可以计算出label所需要的高度。当在使用frame设置时,可以很好的计算其高度,而在使用masonry时,因为不需要设置frame,及其高度。但不管是使用frame,还是使用masonry进行设置,都需要设置显示行数属性,即 属性"numberOfLines"。那原创 2016-04-23 15:51:15 · 13672 阅读 · 0 评论 -
导航栏控制器遮挡视图
iOS7.0后系统,使得self.view中的视图在设置frame时,会被导航栏控制器遮挡,即frame.y的计算不是从导航栏控制器下面开始计算,而是从屏幕左上角开始计算。所以为了解决这个问题,可以在添加如下代码进行解决。// 通常写在base类的loadView方法中// iOS7.0后,显示在导航栏之下,即frame.y从导航栏下面开始算起if ([self respondsToSel原创 2017-06-07 16:01:25 · 436 阅读 · 0 评论 -
app启动运行时不满屏,上下有黑边
iOS开发中,使用真机,或模拟器调试时,当APP启动后,会出现不满屏的情况,即上下出现黑边。如下图所示: 造成这种显示异常的原因是因为应用是按照320*480的size来运行的,所以导致上下有黑色。解决办法就是设置应用的启用页,即把"Default-568h@2x.png"图片放到项目里,这样运行就可以解决问题。注意:图片格式为png,且图片大小为640 x 1136解原创 2016-10-18 11:38:47 · 5551 阅读 · 0 评论 -
iOS常用控件尺寸大集合
元素控件尺寸(PTS)1、主窗口Window(含状态栏)各版本尺寸01 iPhone43.5 640*960 320*480 @2x02 iPhone4S 3.5 640*960 320*480 @2x03 iPhone54.0 640*1136320*568 @2x04 iPhone5S 4.0 640*11363...原创 2014-05-30 15:41:28 · 1547 阅读 · 0 评论 -
Xcode开发图标icon设置
可制作最大尺寸 1024 x 1024 的icon,然后通过系统自带的图片调整大小工具生成所需大小的icon。原创 2014-09-18 18:51:04 · 2707 阅读 · 0 评论 -
各版本iPhone屏幕分辨率尺寸图标
1、3.5(iPhone4、iPhone4S): 640x9602、4.0(iPhone5、iPhone5S、iPhone5C、iPhoneSE): 640x11363、4.7(iPhone6、iPhone6S、iPhone7、iPhone8): 750x1334(375*667)4、5.5(iPhone6Plus、iPhone7Plus、iPhone8Plus):1242x2208(...原创 2015-05-30 11:56:49 · 3767 阅读 · 0 评论 -
iPhoneX适配
Demo_iPhoneX_Adapter原创 2017-12-18 14:00:15 · 478 阅读 · 0 评论 -
横竖屏的转换及页面适配
横竖屏的转换,既可以手动操作实现,也可以自动旋转设备实现。情况1:APP项目所有页面既支持横屏,又支持竖屏。在项目配置中设置了支持横竖屏,则不需要对视图等做过多的配置即可实现横竖屏。如图所示:情况2:APP项目根据需要,个别页面需要既支持横屏,又支持竖屏。在项目配置中设置了只支持竖屏。如图所示:实现逻辑示例代码:1、AppDelegate.h中定义是否允许旋转的变量#impor...原创 2018-10-29 13:38:27 · 1928 阅读 · 0 评论 -
是否有刘海的机型(iPhoneX iPhoneXR iPhoneXS iPhoneXSMax)适配判断
1、5.8(iPhoneX、iPhoneXs):1125x2436(375812)2、6.1(iPhoneXR):828x1792(414896)3、6.5(iPhoneXs Max):1242x2688(414*896)刘海等安全区域位置:状态栏:44(无刘海时20)底部:34(无一道杠时0)方法1CGFloat height = UIApplication.sharedAppli...原创 2019-02-12 14:44:56 · 3867 阅读 · 0 评论 -
视图控制器的各种frame获取
获取全屏视图的位置大小,高包含状态栏和导航栏高UIScreen.mainScreen.bounds{0,0,320,568}获取全屏视图的位置大小(@2x)UIScreen.mainScreen.nativeBounds{0,0,640,1136}获取全屏视图的位置大小,高不包含状态栏UIScreen.mainScreen.applicationFrame{0,20,320,548...原创 2019-07-08 17:45:58 · 493 阅读 · 0 评论 -
Masonry适配——(6)登录视图示例
github:https://github.com/potato512/SYDemo_Masonry效果图// 头像UIImageView *headerImageView = [[UIImageView alloc] init];[self.view addSubview:headerImageView];[headerImageView mas_makeConstrain原创 2017-01-16 17:10:45 · 608 阅读 · 0 评论 -
Masonry适配——(5)animation动画的设置
github:https://github.com/potato512/SYDemo_Masonrymasonry适配中,animation动画的使用通常是需要更新UI,即需要更新约束,或是修改更新某一个约束,又或是移除之前所有的约束,修改所有约束。效果图:// 移动UIButton *buttonMove = [[UIButton alloc] init];[se原创 2017-01-16 17:02:05 · 4421 阅读 · 0 评论 -
表视图底端部分被遮挡情况
表视图偶尔出现尾端不能正常显示在可见区域,即部分被遮挡情况解决:设置属性autoresizingMask以适应高度[xxxTableView setAutoresizingMask:UIViewAutoresizingFlexibleHeight];原创 2014-06-21 22:30:03 · 665 阅读 · 0 评论 -
表视图底部被遮挡显示不全?
列表视图或滚动视图在父视图中显示不全,或被UITabBarcontroller遮挡。设置视图属性 autoresizingMask,且值为 UIViewAutoresizingFlexibleHeight。示例如下:xxxView.autoresizingMask = UIViewAutoresizingFlexibleHeight;xxxScrollView.autoresizi...原创 2014-06-21 22:37:26 · 2273 阅读 · 0 评论 -
适配Http协议网络请求
项目plist文件新增属性NSAppTransportSecurity,且将其类型设置为Dictionary,同时为其添加键值对,即NSAllowsArbitraryLoads设置为BOOL类型,且值为YES。原创 2016-03-19 14:03:42 · 666 阅读 · 0 评论 -
iOS8本地通知异常
在iOS8系统开发使用本地通知时,会出现如下的相关提示语:1 Attempting to schedule a local notification2 with an alert but haven't received permission from the user to display alerts3 with a sound but haven't received permiss...原创 2014-10-13 15:31:35 · 2734 阅读 · 1 评论 -
Masonry适配——(2)使用方法
1、居中设置垂直居中:make.centerY.mas_equalTo(self.window.mas_centerY)水平居中:make.centerX.mas_equalTo(self.window.mas_centerX)全屏居中:make.center.equalTo(self.window)2、边界设置上边界:make.top.equa原创 2016-04-23 10:43:59 · 6630 阅读 · 0 评论 -
Masonry适配——(1)使用注意事项
1、使用autolayout之前,一定要将视图添加到父视图上,否则会报错。2、使用autolayout时,不能同时对同一个视图使用mas_makeConstraints,否则会报错。3、使用autolayout时,如果非要修改约束时,可使用mas_updateConstraints进行修改更新。4、使用autolayout时,可使用mas_remakeConstraints原创 2016-04-23 10:41:12 · 594 阅读 · 0 评论 -
Xcode6.2设置启动页LaunchImage(延长启动页显示时间)
相关设置如图所示,图一——>图二——>图三图一图二图三- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customiza原创 2015-03-23 21:32:13 · 2296 阅读 · 0 评论 -
iOS10中的极光推送消息的适配
iOS10发布后,发现项目中的极光推送接收消息异常了。查了相关资料后才发现,iOS10中对于通知做了不少改变。同时也发现极光也很快更新了对应的SDK。现在就把适配修改的做法分享一下,希望对有需要的童鞋有所帮助。具体做法如下:注意:必须先安装Xcode8.0版本。一、添加相关的SKD,或framework文件1、添加NSUserNotification.framework原创 2016-09-21 15:55:45 · 9792 阅读 · 3 评论 -
iPhone图片适配
XCode6的这个“ 持 量图”,实际上只是编译项 时,根据 量图 动 成对应的@1x,@2x和@3x的png格式图像。不过这也有好处, 先是不 担 运 时扩展尺 降低性能,另外可以兼容更早的iOS版本,经实际测试,除了iOS8外,iOS6、7是没问题的,5 前没有条件测试。1 开发者1-1 对于开发者来说,使 常 便。唯 要做的就是在Images.xcas原创 2016-11-24 11:26:23 · 399 阅读 · 0 评论 -
iOS8设计指南——UI尺寸说明
原创 2016-11-24 14:12:11 · 390 阅读 · 0 评论 -
iOS10中安全和隐私权限的适配问题
在最新版本的iOS10系统中,如果你的项目中访问了隐私数据,比如:相机、相册、录音、定位、联系人等等,在Xcode8中打开编译的话,统统会crash,控制台会输出下面这样的日志:这是因为iOS对用户的安全和隐私的增强,在申请很多私有权限的时候都需要添加描述,但是,在使用Xcode 8之前的Xcode还是使用系统的权限通知框。要想解决这个问题,只需要在info.plist原创 2016-09-20 14:29:49 · 8896 阅读 · 0 评论 -
Masonry适配——(4)UIScrollView的设置
UISCrollView在使用时,如果作为父视图包含多个子视图时,我们需要设置它的contentSize的大小,否则无法进行滚动显示。使用frame进行设置时,只需要令xxxScrollView.contentSize = CGSizeMake(width,height)即可,且不管是水平方向,还是垂直方向都方便设置。而当使用masonry时,应该怎么进行设置呢?因为使用masonry时,无法原创 2016-04-23 18:29:17 · 15233 阅读 · 2 评论 -
iOS9适配系列教程
https://github.com/ChenYilong/iOS9AdaptationTipsiOS9适配系列教程(iOS9开发学习交流群:515295083)转载 2017-01-11 10:53:07 · 419 阅读 · 0 评论 -
iOS10适配系列教程
https://github.com/ChenYilong/iOS10AdaptationTips转载 2017-01-11 10:54:24 · 406 阅读 · 0 评论 -
iOS开发-自动布局之autoresizingMask使用详解
IOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增)。autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大。如果你的界面比较简单,要求的细节没有那么高,那么你完全可以使用autoresizing去进行自动布局。以下针对autoresizing进行讨论。autores原创 2015-05-10 22:39:22 · 821 阅读 · 0 评论