簡體   English   中英

在cellForItemAtIndexPath中的UICollectionViewCell中更改UIView的框架

[英]Change frame of UIView in UICollectionViewCell in cellForItemAtIndexPath

我的問題與這一問題非常相似,盡管選擇的正確答案(僅用於使用標簽)對我不起作用(其他答案也沒有): 更改UICollectionViewCell中的標簽位置

我有一個帶有自定義UICollectionViewCell的UICollectionView。 該單元格中有一個UIView,可通過IBOutlet屬性進行引用。 我只是試圖更改cellForItemAtIndexPath方法中的框架,而實際上UIView的框架更改,但隨后將其忽略或不予采用。

但是,一旦UICollectionView滾動了一點並開始重用單元格,則重用的單元格尊重對UIView框架的先前更改,並且UIView看起來應該像它應該的那樣。 因此,由於某種原因,第一次為特定的單元cellForItemAtIndexPath ,將忽略幀更改,但是一旦重新使用該單元格, cellForItemAtIndexPath該更改。

實際上,我剛剛注意到的一個更奇怪的是,重用的單元格具有之前已更改的幀的大小 ,但是保留了原始原點,恰好是(0,0),盡管我正在嘗試對其進行更新。類似於(0,50)。

更改UIView的其他屬性可以正常工作,例如更改背景顏色。 可能發生什么情況來阻止UIView的框架最初發生變化?

UICollectionViewCell不會更新情節提要或Xib文件中定義的視圖的框架。

您必須在自定義單元格initWithFrame和/或awakeFromXib文件中以編程方式創建視圖。

干杯!

我可能會誤會。 我知道這對於UITableViewCell是正確的無法更新 UITableViewCell中的UI對象的框架

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM