我在表格单元格中有一个UIButton
。我想将按钮放在单元格的中心。按钮的文本是动态的。这就是我所尝试过的,但它并没有出现在中心。它正朝着中心的方向前进。
UIButton *btnName = [UIButton buttonWithType:UIButtonTypeRoundedRect];
CGSize maximumLabelSize = CGSizeMake(self.frame.size.width, MAXFLOAT);
NSStringDrawingOptions options = NSStringDrawingTruncatesLastVisibleLine |
NSStringDrawingUsesLineFragmentOrigin;
NSDictionary *attr = @{NSFontAttributeName: [UIFont systemFontOfSize:15]};
CGRect labelBounds = [titleText boundingRectWithSize:maximumLabelSize
options:options
attributes:attr
context:nil];
CGFloat width = ceilf(labelBounds.size.width);
btnName.frame = CGRectMake(0.0, imgPic.frame.origin.y+imgPic.frame.size.height+20.0, width, 20.0);
btnName.center = CGPointMake(cell.contentView.center.x, imgPic.frame.origin.y+imgPic.frame.size.height+10.0);
[btnName setTitle:titleText forState:UIControlStateNormal];
[btnName setTitleColor:[UIColor darkGrayColor] forState:UIControlStateNormal];
[cell.contentView addSubview:btnName];
答案 0 :(得分:2)
只需在代码中添加以下行。
btnName.center = cell.center;
答案 1 :(得分:0)
您的代码看起来很好,只有您必须进行这些更改,
添加单元格后,您应该将按钮居中,
纠正中心点
[cell.contentView addSubview:btnName];
btnName.center = CGPointMake(cell.frame.size.width/2.f, btnName.center.y);
答案 2 :(得分:0)
Vladimir's回答救了我的一天。我使用了setAutoresizingMask,现在它变得非常好了。