ios开发3.5和4.0寸屏幕自适应中的一点问题
在开发iso应用中需要考虑到ip4的3.5寸屏幕和ip5的4寸屏幕的高度不一样的问题。常见的问题有滚动条位置,底部被挡住等情况;我遇见是tableview中添加下拉上提刷新功能时刷新指示器显示位置的问题。
我自己根据网上已有代码写了一个下拉上提刷新插件:http://git.oschina.net/supdo/SDRefresh;
插件要根据tableview的高度来设置刷新指示器显示位置,为了正常工作,我在应用中对tableview的高度进行手工设置,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | - ( void )viewDidLayoutSubviews { [ super viewWillLayoutSubviews]; CGSize screenSize = [UIScreen mainScreen].bounds.size; self .myBlogTable.frame = CGRectMake(0, 0, screenSize.width, screenSize.height); self .myBlogTable.contentInset = UIEdgeInsetsMake(64+50, 0, 49, 0); self .myBlogTable.scrollIndicatorInsets = UIEdgeInsetsMake(64+50, 0, 49, 0); if (!isLayoutSubview) { isLayoutSubview = YES ; self .blogParser.header = [SDRefreshHeader addHeader: self .myBlogTable headerDelegate: self ]; self .blogParser.footer = [SDRefreshFooter addFooter: self .myBlogTable footerDelegate: self ]; loadMsg = [[SDMessage alloc] initWithSuper: self .view width:200]; loadMsg.mode = SDMessageModeTextLoading; loadMsg.position = SDMessagePositionMiddle; [loadMsg showMessage:@ "加载中..." ]; [ self .hdWeb DefaultPage]; } } |
这样根据屏幕高度来设置tableview高度后插件正常工作,此时有个地方需要注意,就是tableview不能放在第三层的view中,我遇到的问题就是将tableview放到第三层的view中,此处设置的高度自适应代码无效。
不过本质而言应该是storyboard的某个地方需要设置,我还没找到。
文章链接:http://quke.org/post/ios-35and40-height.html (转载时请注明本文出处及文章链接)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库