[英]UILabel Position not change inside UITableviewcell
我正在嘗試更改自定義UITableViewCell中包含的UILabel的位置,但它不會移動。 我啟用了自動布局。
- (void)updateLayout
{
NSArray* comp = [self.accessibilityHint componentsSeparatedByString:@"/"];
if (comp.count > 1)
{
CGRect rect = _imageViewT.frame;
rect.origin.x = 20 * comp.count;
rect.size.width = 44.0;
[_imageViewT setFrame:rect];
[_imageConstraint setConstant:_imageViewT.frame.origin.x-8];
rect = _lableT.frame;
rect.origin.x = _imageViewT.frame.size.width+_imageViewT.frame.origin.x+8;
rect.size.width = self.frame.size.width-rect.origin.x-40;
[_lableT setFrame:rect];
//[_imageConstraint setConstant:_imageViewT.frame.origin.x-8];
}
else
{
CGRect rect = _imageViewT.frame;
rect.origin.x = 10;
rect.size.width = 43.0;
[_imageViewT setFrame:rect];
[_imageConstraint setConstant:2];
rect = _lableT.frame;
rect.origin.x = 62;
rect.size.width = self.frame.size.width-rect.origin.x-40;
[_lableT setFrame:rect];
}
}
我正在從cellForRowAtIndexPath調用更新方法。 self.accessibilityHint包含aa / bb / cc,aa / cc之類的字符串
UITableViewCell將在cellForRowAtIndexPath:
layoutSubviews:
之后對layoutSubviews:
子視圖進行布局,因此您的布局將在單元格的layoutSubviews中重置。 您應該將布局代碼從cellForRowAtIndexPath:移動到單元格的layoutSubviews。
設置標簽的autoresizingMask屬性,我總是將其與單元格的子視圖一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.