第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請教解釋iOS 7中自動調(diào)整-ScrollViewInset、ExtendedLayout-

請教解釋iOS 7中自動調(diào)整-ScrollViewInset、ExtendedLayout-

iOS
森林海 2019-08-02 11:02:43
解釋iOS 7中自動調(diào)整-ScrollViewInset、ExtendedLayout-OpaqueBars、EDgesFortendedLayout之間的差異我讀了很多關于iOS 7 UI轉換的文章。我無法得到這三個屬性automaticallyAdjustsScrollViewInsets, extendedLayoutIncludesOpaqueBars, edgesForExtendedLayout??例如,我試圖讓我的視圖控制器從狀態(tài)欄下面開始,但我無法實現(xiàn)它
查看完整描述

3 回答

?
臨摹微笑

TA貢獻1982條經(jīng)驗 獲得超2個贊

從iOS 7開始,視圖控制器默認使用全屏布局。同時,您可以更好地控制視圖的布局方式,而這些屬性就是這樣完成的:

EDgesfortendedLayout

基本上,使用這個屬性,您可以設置視圖的哪些邊可以擴展到覆蓋整個屏幕。想象一下你推一個UIViewController變成UINavigationController..當該視圖控制器的視圖被放置時,它將從導航欄結束的位置開始,但該屬性將設置視圖的哪些邊(上、左、下、右)可以擴展以填充整個屏幕。

讓我們舉一個例子來看看:

UIViewController *viewController = [[UIViewController alloc] init];viewController.view.backgroundColor = [UIColor redColor];
UINavigationController *mainNavigationController = [[UINavigationController alloc] initWithRootViewController:viewController];

在這里,您沒有設置edgesForExtendedLayout,因此采用默認值(UIRectEdgeAll),因此視圖擴展其布局以填充整個屏幕。

結果是:

如您所見,紅色背景延伸到導航欄和狀態(tài)欄后面。

現(xiàn)在,您要將該值設置為UIRectEdgeNone,因此,您要告訴視圖控制器不要將視圖擴展到屏幕上:

UIViewController *viewController = [[UIViewController alloc] init];viewController.view.backgroundColor = [UIColor redColor];
viewController.edgesForExtendedLayout = UIRectEdgeNone;UINavigationController *mainNavigationController = [[UINavigationController alloc]
 initWithRootViewController:viewController];

其結果是:

自動調(diào)整ScrollViewInset

視圖為UIScrollView或者類似的,就像UITableView..您希望您的表從導航欄結束的位置開始,因為如果沒有,您將不會看到整個內(nèi)容,但同時希望您的表在滾動時覆蓋整個屏幕。在這種情況下,設置edgesForExtendedLayout因為您的表將開始滾動導航條結束的位置,并且它不會在其后面滾動,因此對任何操作都不起作用。

下面是這個屬性的方便之處,如果您讓視圖控制器自動調(diào)整inset(將此屬性設置為yes,也是默認值),它將嵌入添加到表的頂部,因此表將從導航條結束的位置開始,但滾動將覆蓋整個屏幕。

此時設置為“否”:

和“是”(默認情況下):

在這兩種情況下,表在導航欄后面滾動,但在第二種情況下(是),它將從導航欄下面開始。

擴展LayoutIncludeesOpaqueBars

這個值只是對以前的值的一個補充。默認情況下,此參數(shù)設置為否。如果狀態(tài)欄是不透明的,則視圖將不會擴展到包含狀態(tài)欄,即使您擴展視圖以覆蓋它(edgesForExtendedLayoutUIRectEdgeAll).

如果將值設置為“是”,這將允許視圖再次位于狀態(tài)欄下。

如果有什么不清楚的地方,寫一篇評論,我會回答的。

IOS如何知道使用什么UIScrollView?

IOS獲取ViewController視圖中的第一個子視圖,即索引0處的子視圖,如果它是UIScrollView然后將解釋的屬性應用到它。

當然,這意味著UITableViewController默認情況下工作(因為UITableView是第一個視圖)。




查看完整回答
反對 回復 2019-08-03
?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

不確定是否使用情節(jié)提要,但如果使用,則讓視圖控制器從狀態(tài)欄(以及底部欄上方)開始:

在IB中選擇視圖控制器,在“屬性”檢查器中,取消選擇“在頂部條下擴展邊緣”和“在底部條下擴展邊緣”。


查看完整回答
反對 回復 2019-08-03
  • 3 回答
  • 0 關注
  • 479 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號