本文转载至 http://blog.csdn.net/linzhiji/article/details/12233387

iOS7自定义statusbar和navigationbar的若干诡异问题

1. icon 更新到iphone:120X120. ipad:152x152
 
2. 开机画面要添加回status bar
 
3. view controller 用full-screen layout
 
4. 重新设计bar button 图标
 
5. 按钮要使用无边化
 
6. 使用相对布局,auto layout,尽量不要写死坐标和大小
 
7. 用户可自定义字号,字号可调整
 
8. 注意底部手势的使用,苹果优先响应系统的控制面板
 
9.尽量去特效化去物理化,保持界面元素平滑和层次感
 
10. 尽量使用storyboards
 
11. 在application:didFinishLaunchingWithOptions:
里判断版本 6 or 7 来载入相关资源
 
12. 进度和选中状态的window.tintcolor 是应用到整个view,包括subviews.IOS7用barTintColor设置一个bar的背景
 
13. 自动调整字体字号,dynamic type,用UIFontpreferredFontForTextStyle去拿一个字体
 
14. 状态烂透明,其它bar都是半透明的
  UIBarPositionTopAttached
代表bar背景延伸到status bar,图像要64像素高, UIBarPositionTop代表不延伸,所有bar的按钮都是无边际的
 
15.status bar,白底黑字:UIStatusBarStyleDefault
黑底白字:UIStatusBarStyleLightContent
 
16. Navigation Bar 默认是半透明,底部有1像素的hairline, tintColor去定义barbutton,用barTintColor去定义bar 背景。如果要用自定义的返回按钮,需要做一个MASK图像作为切换过渡用。 NaviBar的下部阴影要用自定义图像和shadowImage来定义,不要用过长的带阴影部分的图像来做阴影,因为在IOS7上,多出的像素会首先放到statusbar
 
17. 搜索栏,用tintColor定义引导文字foreground,用barTintColor来定义搜索栏的背景。IOS7可以在UISearchDisplayController里面的displaysSearchBarInNavigationBar特性,做到把搜索栏集合在NaviBar上面,具体参考系统自带的日历应用
Scope bar范围bar不会自动显示,需要绑定到search bar,tint定义方法同搜索栏类似
 
18. Tab Bar在ipad上是56像素,用itemPositioning来定义布局,在中央布局时,可以用itemWidth和itemSpacing来自定义布局,tintColor定义选择的items,barTintColor定义背景。可以是使用selectedImageproperty来自定义选中状态的图像
 
19. Toolbar ,tintColor定义item,barTintColor定义背景,在top边有一条1像素hairline(貌似和别的几个bar有不一样,它们多少底部),UIToolbarPosition已经弃用了,用UIBarPosition代替
 
20. barbuttons,使用图像有2种方式UIImageRenderingModeAlwaysTemplate(默认使用),UIImageRenderingModeAlwaysOriginal(使用它来设定不是用tinting)
 
21. activity view controller里的图标要用黑白和透明度表示,抗锯齿处理,不要用dropshadow。图标大小是70x70居中
 
22. Ios7 的ImageView包含tintColor特性,在UIImageRenderingModeAlwaysTemplate模式下,tintColor会应用到该图片上
 
23. 在Ios7上,用MKOverlayRenderer在mapview上创建overlay,3D地图内容参考MKMapCamera
 
24.IOS7上,用pageViewControllerPreferredInterfaceOrientationForPresentation和pageViewControllerSupportedInterfaceOrientations控制pageview
 
25. iPad上有popover来显示过渡页面,背景半透,同时内容是贴边的
 
26. ScrollView外观上稍有变化,可以用automaticallyAdjustsScrollViewInsets特性管理srollview 
 
27.table view在iOS7里变动比较大,cellseparator更细更窄更浅色,同时是从左边开始插入。index默认是白底半透,header的文本显示用all-capitalletters
和footer文本显示用sentence-style
,可以用UITableViewHeaderFooterView来自定义样式;
 cell组别扩展到整个屏幕宽度,cell选中状态是淡灰底。如果每个cell都有相同尺寸的图像,ios默认自动放置分隔,如果使用混合使用文本和图像,可以用separatorInset(UIEdgeInsets的特性)自定义。
 
28. text view和webview变动不大,需要注意的是用UIFont里的preferredFontForTextStyle
取得页面的字体
 
29.像添加,详细信息,标签,页面控制,时间选择器,进度条(进度条的颜色可以用trackTintColor设置)
,菊花,加减,切换按钮等元素有相当大的变化,
 
30.圆角按钮IOS7中已经不显示边框,并且用UIButtonTypeSystem代替之前的UIButtonTypeRoundedRect
,(IOS6样式的在新系统里自动转换)
 
31. Segmentedcontrol分节控制在IOS7里只有简单的样式,以前的segmentedControlStyle的特性已经不用了
 
32.slider在ios7里面可以用minimumTrackTintColor,maximumTrackTintColor, andthumbTintColor分别设定最小值颜色,最大值颜色,和触摸时颜色。如果设定成nil,就使用默认
 
33. 切换按钮在ios7里面动感十足,可以用onTintColor, tintColor, andthumbTintColor设置开关和触摸样式
 
34. actionsheet在ios7里面是一个半透的背景加上无边按钮。应用现在运行的用户自定义样式的as会被弃用,无论如何都是用IOS7的默认样式。在initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:方法里面的destructiveButtonTitle系统默认是红色
 
35. Alert在ios7里面也强制要使用默认样式,如果你提供第三个按钮,将在默认2个按钮的上方显示

IOS7 UI Transition Guide 状态栏 statusbar的更多相关文章

  1. iOS 7 UI 过渡指南 - 開始之前(iOS 7 UI Transition Guide - Before You Start)

    iOS 7 UI Transition Guide Preparing for Transition Before You Start Scoping the Project Supporting i ...

  2. iOS 7 UI 过渡指南 - 支持续 iOS 6(iOS 7 UI Transition Guide - Supporting iOS 6)

    iOS 7 UI Transition Guide Preparing for Transition Before You Start Scoping the Project Supporting i ...

  3. [置顶] IOS7状态栏StatusBar官方标准适配方法

    IOS7状态栏StatusBar官方标准适配方法 hello,大家好,ios7正式版已经发布,相信大家都在以各种方式来适配ios7. 如果你已经下载了xcode5,正准备使用,你会发现各种布局的改变. ...

  4. IOS7状态栏StatusBar官方标准适配方法

    IOS7状态栏StatusBar官方标准适配方法 hello,大家好,ios7正式版已经发布,相信大家都在以各种方式来适配ios7. 如果你已经下载了xcode5,正准备使用,你会发现各种布局的改变. ...

  5. 张高兴的 UWP 开发笔记:手机状态栏 StatusBar

    UWP 有关应用标题栏 TitleBar 的文章比较多,但介绍 StatusBar 的却没几篇,在这里随便写写.状态栏 StatusBar 用法比较简单,花点心思稍微设计一下,对应用会是个很好的点缀. ...

  6. Android利用反射获取状态栏(StatusBar)高度

    MainActivity如下: package cc.teststatusbarheight; import java.lang.reflect.Field; import android.os.Bu ...

  7. iOS7隐藏状态栏 statusBar

    转:http://blog.csdn.net/dqjyong/article/details/17896145 评:通过这点变化,可以看出苹果倾向于使用delegate取代全局变量. IOS7中,不仅 ...

  8. android 状态栏(StatusBar)

    一.SystemUI 概述 自 android2.2 开始 , 原本存在与 framework-res.apk 中的状态栏和下拉通知栏界面控制被分割出一个单独的 apk 文件 , 命名为 System ...

  9. iOS开发-14款状态栏(StatusBar)开源软件

    本文转载至 http://mobile.51cto.com/hot-418125.htm 之前逛街看到移动做推广,有一个定位应用挺好的,合理的利用了状态栏,做了一些消息提醒和隐藏动画,自己回家就做了一 ...

随机推荐

  1. 【玩转cocos2d-x之三十九】Cocos2d-x 3.0截屏功能集成

    3.0的截屏和2.x的截屏基本上同样.都是利用RenderTexture来处理,在渲染之前调用call函数,然后调用Cocos的场景visit函数对其进行渲染,渲染结束后调用end函数就可以.仅仅是3 ...

  2. Centos中mount命令挂载windows7共享文件夹

    1)  在ip:10.4.35.77的windows机器上新建用户.这里新建username:myshare,password:myshare123. 选择 [计算机]右键 选择[管理],本地用户和组 ...

  3. Java8 新的日期和时间API(笔记)

    LocalDate LocalTime Instant duration以及Period 使用LocalDate和LocalTime //2017-03-20 LocalDate date = Loc ...

  4. 利用velocity.js将svg动起来

    关于velocity.js Velocity.js是一款jquery动画引擎插件,它拥有与jquery中的$.animate()相同的API,还打包了颜色动画,转换,循环,easing效果,类动画.滚 ...

  5. Unity3D教程宝典之Web服务器篇:(第三讲)PHP的Hello World

    转载自风宇冲Unity3D教程学院 引言:PHP是比较简单的编程语言,即使没接触过的也可以现学现用.PHP教程文档PHP100视频教程                           Unity接 ...

  6. JSON——Java中的使用

    1. 构建JSON方法(数据——>JSON) 这里使用Maven构建项目 在pom.xml中添加如下依赖 <dependency> <groupId>org.json&l ...

  7. Spark调研笔记第6篇 - Spark编程实战FAQ

    本文主要记录我使用Spark以来遇到的一些典型问题及其解决的方法,希望对遇到相同问题的同学们有所帮助. 1. Spark环境或配置相关 Q: Sparkclient配置文件spark-defaults ...

  8. find命令下排除部分目录修改权限

    #!/bin/bash # 项目文件夹.文件权限修改 # 批量修改文件夹或者文件的权限时,需要先忽略掉可写文件夹('./bootstrap/cache'.'./public/attachments'. ...

  9. Scikit-learn的kmeans聚类

    1. 生成随机的二维数据: import numpy as np x1 = np.array([1, 2, 3, 1, 5, 6, 5, 5, 6, 7, 8, 9, 9]) x2 = np.arra ...

  10. 【算法拾遗(java描写叙述)】--- 插入排序(直接插入排序、希尔排序)

    插入排序基本思想 每次将一个待排序的记录按其keyword大小插入到前面已经拍好序的子文件的适当位置,直到全部记录插入完毕为止. 直接插入排序 基本思想 直接插入排序的基本操作是将一个记录插入到已排好 ...