首页 > 其他分享 >【IOS】IOS7 UI适配

【IOS】IOS7 UI适配

时间:2023-04-02 11:32:04浏览次数:50  
标签:status bar 适配 self IOS UI http com IOS7


试着编译了一下刚刚完成的几个应用,还好问题不大,半个小时的时间都适配好了,然后改了下几个新出现的warning。过几天等空了,要把IOS7的更新的特性好好看一下 http://www.cocoachina.com/newbie/basic/,记录一下。

Xcode5 正式版的下载地址:http://adcdownload.apple.com/Developer_Tools/xcode_5/xcode_5.dmg   

总结一下(不一定是最好的方法,纯粹是省时间的方法,不至于在ios7的设备上看上去错位,想要充分符合ios7的风格,还是要在设计上做出一定的改变的):

(1)如果应用程序始终隐藏 status bar 那么恭喜呢,你在UI上需要的改动很少很少。

(2)如果应用程序显示status bar,可以讲status bar设置成黑色不透明 ,然后在UIViewController 中加入下面的判断,

#define IOS7_OR_LATER   ( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )  
  
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000  
        if ( IOS7_OR_LATER )  
        {  
            self.edgesForExtendedLayout = UIRectEdgeNone;  
            self.extendedLayoutIncludesOpaqueBars = NO;  
            self.modalPresentationCapturesStatusBarAppearance = NO;  
        }  
#endif  // #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000  


(3)如果勾选了Hide during application lauch 的话,在IOS7 的设备上,是没有问题的,

 启动完以后status bar 会重新出现的,但是在IOS7 一下的设备,需要在launch didfinish 里面把status bar 显示出来。


【IOS】IOS7 UI适配_#if

(4)可以通过设置view的背景颜色来改变 status bar 的颜色来搭配你的nav 条。

 (5)  有些地方肯能要对版本进行判断,分别做不同的处理。

 (6)  可以用旧版的sdk来编译,这样在真机上还是和原来一样的效果。具体的方法可以参考:http://github.kimziv.com/blog/2013/09/22/how-to-use-older-base-sdks-in-xcode5/

标签:status,bar,适配,self,IOS,UI,http,com,IOS7
From: https://blog.51cto.com/u_548275/6164522

相关文章

  • Layui open()弹窗中的表单实现Layui自带的验证功能
    在 layer.open中的 success回调方法里增加如下代码:layero.addClass('layui-form');layero.find(".layui-layer-btn0").attr({"lay-filter":"addSubmit","lay-submit":""});  ......
  • Quine-McCluskey算法简介及其C++代码实现
    AlgorithmListallminterms(anddon'tcareterms)Stepbystepmergingonelayeratatime(notethatonlytwominimumtermswithadistanceof1canbemerged),andpayattentiontoremovingduplicatesFindtheessentialprimeimplicationthrough......
  • OpenGL Mac开发-如何使用imgui(1.89.4)插件进行调试
    为了调试我们的OpenGLDemo,可以尝试使用一个成熟的开源GUI插件imgui。1,首先进入imgui在github上的地址。在Release中下载最近的版本,可以得到一个Zip压缩包。现在是2023年的4月1日,我下载到的版本是1.89.4,与Cherno的OpenGL教程中的代码略微有些区别。如果你看的是Cherno的教程,也......
  • abp(net core)+easyui+efcore实现仓储管理系统——ABP升级7.3下(五十九)
    Abp(netcore)+easyui+efcore实现仓储管理系统目录abp(netcore)+easyui+efcore实现仓储管理系统——ABP总体介绍(一)abp(netcore)+easyui+efcore实现仓储管理系统——解决方案介绍(二)abp(netcore)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(netcore)+eas......
  • java 中required_通过实例学习Spring @Required注释原理
    @Required注释应用于bean属性的setter方法,它表明受影响的bean属性在配置时必须放在XML配置文件中,否则容器就会抛出一个BeanInitializationException异常。下面显示的是一个使用@Required注释的示例。示例:让我们使EclipseIDE处于工作状态,请按照下列步骤创建一个......
  • java 中required_通过实例学习Spring @Required注释原理
    @Required注释应用于bean属性的setter方法,它表明受影响的bean属性在配置时必须放在XML配置文件中,否则容器就会抛出一个BeanInitializationException异常。下面显示的是一个使用@Required注释的示例。示例:让我们使EclipseIDE处于工作状态,请按照下列步骤创建一个......
  • 基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点
    作为一个技术博主,了不起比较喜欢各种折腾,之前给大家介绍过ChatGPT接入微信,钉钉和知识星球(如果没看过的可以翻翻前面的文章),最近再看开源项目的时候,发现了一个ChatGPTWebUI项目。想着刚好之前没有将ChatGPT接入过WebUI,有了这个开源项目可以拿来使用,真是不错,下面是实操的......
  • Hello QuickJS
    #include"quickjs.h"#include"quickjs-libc.h"#include<string.h>JSRuntime*QJSRuntime=nullptr;JSContext*QJSContext=nullptr;JSContext*CreateQJSContext(JSRuntime*InRuntime){JSContext*RetVal=JS_NewContext(QJSR......
  • wxpython编写的GUI中显示gif图片的另一种方法
    当采用wx.adv.AnimationCtrl方法加载大尺寸gif图片出错的时候,就需要考虑用其他方式加载了;这里用到了imageio.v3和numpy配合加载gif图片。代码实例如下。注意的是,此代码并非gif加载全能的!当图片不规则还是会出现无法加载的情况(gif各帧之间大小不一,具体原因搞不懂);而且加载的gif图......
  • 并查集(nuist LevOJ P1648)
    一、并查集1.1并查集简介并查集是一种简单的集合表示,是一种树形数据结构,可处理不相交集合的合并及查询问题。并查集可求联动分支数。并查集存储:现有9个元素0~9,建立一个数组(初始化元素为-1),用数组下标表示元素,数组中的数据表示根节点的下标。数组中数据为负数时表示它是根节点......