我的iOS11及iPhoneX适配(二)
来源:互联网 发布:java int范围 编辑:程序博客网 时间:2024/05/16 08:28
继昨天适配iOS11修改部分问题后,发现其实很多页面都用了UITableView,这个肯定不能每个页面都一个个的修改,于是决定写一个BaseUITableView,然后把目前用到UITableView的地方都换为BaseUITableView,代码如下:
- (instancetype)init
{
if (self = [superinit])
{
[selfdismissSomePropertyForiOS11];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [superinitWithFrame:frame])
{
[selfdismissSomePropertyForiOS11];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
{
if (self = [superinitWithFrame:frame style:style])
{
[selfdismissSomePropertyForiOS11];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
if (self = [superinitWithCoder:aDecoder])
{
[selfdismissSomePropertyForiOS11];
}
return self;
}
- (void)dismissSomePropertyForiOS11
{
//如果iOS的系统是11.0,会有这样一个宏定义“#define __IPHONE_11_0 110000”;如果系统版本低于11.0则没有这个宏定义
#ifdef __IPHONE_11_0
if ([selfrespondsToSelector:@selector(setContentInsetAdjustmentBehavior:)])
{
self.contentInsetAdjustmentBehavior =UIScrollViewContentInsetAdjustmentNever;
}
#endif
self.estimatedRowHeight = 0;
self.estimatedSectionHeaderHeight = 0;
self.estimatedSectionFooterHeight = 0;
}
然后在调用的地方都替换为:
UITableView *tableView = [[BaseUITableViewalloc] init];
或者
_taskTabelView = [[BaseUITableViewalloc]initWithFrame:CGRectMake(0,0,DEVICE_WIDTH, DEVICE_HEIGHT)style:UITableViewStyleGrouped];
最后在
PrefixHeader.pch
文件加上:
#import "BaseUITableView.h"
完成。
- 我的iOS11及iPhoneX适配(二)
- 我的iOS11及iPhoneX适配(一)
- 我的iOS11及iPhoneX适配(三)
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11& iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11& iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- 适配iOS11&iPhoneX的一些坑
- ios11以及iphonex适配
- iOS调试——适配iOS11,iPhoneX问题及解决办法
- MJRefresh适配ios11以及iPhoneX
- 适配 iPhoneX & iOS11 新特性
- 适配iphonex和ios11的相关问题总结
- iOS11、iPhoneX、Xcode9 的注意点汇总
- iOS11&iPhoneX适配&Xcode9打包注意事项
- 梅涛:深度学习敲敲视觉理解中的“钉子”
- GNU与GPL
- maven全局配置文件settings.xml详解
- 大数据早报:亚马逊将取代谷歌 阿里云发布弹性云服务器神龙(10.13)
- MySQL的执行流程
- 我的iOS11及iPhoneX适配(二)
- 百钱买百鸡
- Android RecyclerView与CardView的配合使用
- Linux进程间通信——使用共享内存
- BootStrap Modal下,按钮无响应的问题
- Heads Up Notification (setFullScreenIntent not work on Mate8)
- es6里面的promise不捕获异常老是报unhandledRejection错,有啥办法不让它报么?
- WDCP上配置SSL证书即https 2017-08-28 百度总结 操作环境:linux的WDCP操作面板(没有操作面板就在命令行操作) wdcp 安装ssl证书教程实现https访问 1.申请
- Maven 打包,Resource下有jar包,整个工程打包成war包,解压缩war包发现原先Resource下jar包打不开解决办法