修改IB中view的frame

2021-07-09 11:08:13 字數 384 閱讀 7535

問題案例:

自定義cell用xib定義,cell子檢視中某個label的內容由網路獲取,因為這個label加了邊框,在獲取資料後需要調整寬度(用sizetofit方法即可)。

實測發現,這個label有時候寬度確實根據內容變化了,邊框顯示良好,但有時候還是ib裡定義的寬度。

原因:

想到的解決方案:

2.ib裡不要定義那個view,在得到資料後用**生成view,設定好frame再加到對應的父檢視中。

第一種方法使**變臃腫,可讀性降低,且會有神奇的ui效果:view會動一下(比如修改前寬20,修改後寬100,明顯能看到view由窄變寬,甚至修改前隱藏view,修改後再顯示,也會有view突然蹦出來的效果)~

第二種方法達到了理想目的。

iOS開發 View中frame和bounds區別

開發中調整view的時候的經常會遇到frame和bounds,剛開始看的時候不是很清楚,不過看了一下官方文件,frame是確定檢視在父檢視中的位置,和本身的大小,bounds確定可以確定子檢視在當前檢視中的位置,還可以改變view的大小,如果bounds確定大小,那麼view的檢視優先選擇的boun...

iOS開發 View中frame和bounds區別

開發中調整view的時候的經常會遇到frame和bounds,剛開始看的時候不是很清楚,不過看了一下官方文件,frame是確定檢視在父檢視中的位置,和本身的大小,bounds確定可以確定子檢視在當前檢視中的位置,還可以改變view的大小,如果bounds確定大小,那麼view的檢視優先選擇的boun...

利用KVO監視乙個view的frame

首先,keypath一定是frame,而不是frame.origin.x之類的路徑,因為再點下去的話,就是訪問結構體內部的值了,kvo是無法檢測的,會報錯找不到keypath。如下 1 funcmenuvc.view addobserver self forkeypath frame options...