UITableViewCell问题中的自定义UIView

时间:2013-06-11 14:44:48

标签: iphone ios layout uitableview

我在每个表视图单元格中绘制一个自定义UIView,如下所示:

    _checkboxView = [[[UIView alloc] initWithFrame:CGRectMake(cell.frame.size.width - 28.5, cell.frame.size.height - 33.5, 25, 25)] autorelease];
    _checkboxView.backgroundColor = [UIColor clearColor];
    _checkboxView.layer.borderWidth = 4.0f;
    _checkboxView.layer.borderColor = [[UIColor blackColor] CGColor];
    _checkboxView.layer.cornerRadius = 4.0f;
    [cell addSubview:_checkboxView];
    [cell bringSubviewToFront:_checkboxView];

这很有效,但是当手机切换到横向模式时,复选框位于错误的位置,并靠近表格视图单元格的中间位置。我需要它使用我为肖像模式制作的约束来保持锚定在单元格的右侧。当然,我会去找方法:

-(void)viewWillLayoutSubviews

但是如何确保我能够为每个UITableViewCell正确锚定视图?我无法使用界面构建器(因而也就是自动布局),因为整个过程是以编程方式构建的。如何处理它在此方法中查看的特定单元格?

1 个答案:

答案 0 :(得分:2)

尝试为该视图设置autoresizingMask,如...

[_checkboxView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleTopMargin];

享受编码.........