0
我試圖在自定義UITableViewCell
(或collectionViewCell)中將梯度圖層添加到UILabel
。我在界面生成器中爲UILabel
設置了一些限制,以便根據內容調整大小。但我不知道如何獲得正確的框架大小的細胞子視圖。如何獲取UITableViewCell或UICollectionViewCell中的子視圖的計算大小
我試過layoutSubviews
但它被多次調用,在我的情況下是兩次。因此它增加了兩個漸變圖層,第一個用於不計算幀,一個用於計算幀。
對於UITableView
和UICollectionView
我都試過cellForItemAtIndexPath
。它也不起作用。
如何或何時在UITableViewCell
或UICollectionView
中獲得子視圖的正確幀大小?
這是不一致的。有些單元格不使用計算幀,有些單元格使用計算幀。此外,變化是可見的;我看到梯度圖層移動 – osrl
所以在這種情況下,嘗試使用'UIView'只有一個圖層,這是您的漸變圖層類(我猜想是''CAGradientLayer')。用於查看的圖層由'UIView''layerClass'方法返回https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/clm/UIView/layerClass 。將這個視圖設置爲你的表格單元格的背景視圖https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewCell_Class/index.html#//apple_ref/occ/instp/UITableViewCell/backgroundView和它應該自動調整大小 – MichK
作爲背景視圖添加對我來說不起作用,因爲我不想爲其中一個子視圖添加漸變(UILabel),我不需要「UITableViewCell」的大小,我需要它的子視圖' – osrl