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

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

什么時候調(diào)用布局子視圖?

什么時候調(diào)用布局子視圖?

一只斗牛犬 2019-11-07 10:06:48
什么時候調(diào)用布局子視圖?我有一個定制的視圖layoutSubview動畫期間的消息。我有一個充滿屏幕的視圖。它在屏幕底部有一個自定義子視圖,如果我更改導航條的高度,它將在InterfaceBuilder中正確調(diào)整大小。layoutSubviews在創(chuàng)建視圖時調(diào)用,但不會再次調(diào)用。我的子視圖布局正確。如果我關(guān)閉調(diào)用狀態(tài)欄,則子視圖的layoutSubviews則根本不調(diào)用,即使主視圖確實對其大小進行了動畫化。在什么情況下layoutSubviews真的打電話了?我有過autoresizesSubviews設為NO我的定制視圖。在InterfaceBuilder中,我有頂部和底部的支柱和垂直箭頭集。這個難題的另一個部分是,必須將窗口設置為鍵:[window makeKeyAndVisible];否則,子視圖不會自動調(diào)整大小。
查看完整描述

3 回答

?
慕標琳琳

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

在@BadPirate之前的回答的基礎上,我做了進一步的實驗,并提出了一些澄清/更正。我發(fā)現(xiàn)layoutSubviews:只有在下列情況下,才會在視圖上調(diào)用:

  • 它自己的

    (不是框架)改變了。
  • 它的一個直接子視圖的界限發(fā)生了變化。
  • 子視圖將添加到視圖中或從視圖中刪除。

一些相關(guān)細節(jié):

  • 只有在新值不同的情況下,才會認為邊界是更改的,

    包括一個不同的起源

    ..請?zhí)貏e注意,這就是為什么

    layoutSubviews:

    每當UIScrollView滾動時調(diào)用,因為它通過更改邊界的來源來執(zhí)行滾動。
  • 更改框架只會在大小更改時更改邊界,因為這是傳播到邊界屬性的唯一內(nèi)容。
  • 視圖層次結(jié)構(gòu)中尚未出現(xiàn)的視圖邊界上的更改將導致調(diào)用

    layoutSubviews: 當視圖最終被添加到視圖層次結(jié)構(gòu)時.

  • 為了完整起見:這些觸發(fā)器不會

    直接

    調(diào)用layoutSubview,而是調(diào)用

    setNeedsLayout

    ,它設置/升起一個旗子。對于所有視圖,運行循環(huán)的每一次迭代

    在視圖層次結(jié)構(gòu)中

    ,這個標志被選中。對于每個發(fā)現(xiàn)升起國旗的視圖,

    layoutSubviews:

    被調(diào)用并重置標志。將首先檢查/調(diào)用層次結(jié)構(gòu)上較高的視圖。



查看完整回答
反對 回復 2019-11-08
?
ABOUTYOU

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

我跟蹤解決方案的原因是InterfaceBuilder堅持不能在打開模擬屏幕元素(狀態(tài)欄等)的視圖上更改Spring。由于彈簧為主視圖關(guān)閉,該視圖無法更改大小,因此,當調(diào)用欄出現(xiàn)時,整個視圖都會向下滾動。

關(guān)閉模擬的功能,然后調(diào)整視圖大小和正確設置彈簧會導致動畫發(fā)生,并調(diào)用我的方法。

調(diào)試中的另一個問題是,當調(diào)用狀態(tài)通過菜單切換時,模擬器退出應用程序。退出app=沒有調(diào)試器。



查看完整回答
反對 回復 2019-11-08
  • 3 回答
  • 0 關(guān)注
  • 393 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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