2016-week4
前言
上周末去见老同学了,week3就不写了=。= 都是借口啊,来看看这周碰上一些什么问题。
问题列表
edgesForExtendedLayout
- 获取版本号
- 文本自动调整大小
- AppStore, Settings页面跳转
edgesForExtendedLayout
经常会碰到的一个问题:UITabBarController包含多个UINavgationController,每个UINavgationController又包含着自己的ViewController。这个时候ViewController的frame占据了整个屏幕(既包括了NavBar的地方,又包括了TabBar的地方),很烦;如何让这样的ViewController的View只占据NavBar和TabBar之间的区域呢?
这时就需要edgesForExtendedLayout属性了。edgesForExtendedLayout
是UIViewController的一个属性,它只在ViewController嵌在其他容器内时才起作用,比如UINavgationController。默认的值是UIRectEdgeAll,将它设置为UIRectEdgeNone时可以解决上述问题。如下👇
1 | // 在ViewController的viewDidLoad里面设置 |
效果如下👇
获取版本号
1 | NSString *version = [NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]; |
文本自动调整大小
UILabel一下2个属性,可以让文本字体大小自动调整以适应UILabel的frame:
adjustsFontSizeToFitWidth
: 该属性默认为NO。当设置它为YES时,当文本的长度超过UILabel时,会自动缩小文本字体,以适应UILabel的frame。该属性要配合minimumScaleFactor使用。minimumScaleFactor
: 该属性表示UILabel的字体最小的缩放程度。它的默认值为0,但并不是说字体大小为0,而是使用当前指定的字体大小。
AppStore, Settings页面跳转
- 跳转到AppStore界面
经常需要对app进行评分,这时就需要跳转到AppStore,跳转方法如下👇1
2NSString *appStoreUrlStr = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple +Software&id=923676989"; // 获取Coding的AppStore的url, 注意这里要将https:换成itms-apps: 貌似是为了避免重定向
[UIApplication sharedApplication] openURL:[NSURL urlWithString:appStoreUrlStr]; // 跳转到AppStore - 跳转到设置页面
1
[UIApplication sharedApplication] openURL:[NSURL urlWithString:UIApplicationOpenSettingsURLString];
参考
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.