簡體   English   中英

UILabel位置在UITableviewcell內部不變

[英]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.

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