日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS7 edgesForExtendedLayout

發(fā)布時(shí)間:2024/3/7 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS7 edgesForExtendedLayout 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天在做UISearchBar,UISearchDisplayController時(shí)遇到了一個(gè)問題,在點(diǎn)擊搜索欄時(shí)陰影部分的位置出現(xiàn)偏差

如下圖:


始終覺得很奇怪,后面單獨(dú)做了一個(gè)demo,將同樣的代碼拷過去發(fā)現(xiàn)顯示正常的。

然后再逐一查看代碼看到如下:

- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view.if (OSVersionIsAtLeastiOS7()) {if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){self.edgesForExtendedLayout = UIRectEdgeNone;}} }發(fā)現(xiàn)可疑之處,Google之 iOS 7 教程:讓程序同時(shí)支持iOS 6和iOS 7,找到答案。

原因:

在iOS 7中,蘋果引入了一個(gè)新的屬性,叫做[UIViewController setEdgesForExtendedLayout:],它的默認(rèn)值為UIRectEdgeAll。當(dāng)你的容器是navigation controller時(shí),默認(rèn)的布局將從navigation bar的頂部開始。這就是為什么所有的UI元素都往上漂移了44pt。

修復(fù)這個(gè)問題的快速方法就是在方法- (void)viewDidLoad中添加如下一行代碼:

1 self.edgesForExtendedLayout = UIRectEdgeNone;

這樣問題就修復(fù)了。


總結(jié)

以上是生活随笔為你收集整理的iOS7 edgesForExtendedLayout的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。