将UIButton与动态tex放在UITableViewCell的中心

时间:2015-01-09 07:28:12

标签: ios iphone uibutton

我在表格单元格中有一个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];

3 个答案:

答案 0 :(得分:2)

只需在代码中添加以下行。

btnName.center = cell.center;

答案 1 :(得分:0)

您的代码看起来很好,只有您必须进行这些更改,

  1. 添加单元格后,您应该将按钮居​​中,

  2. 纠正中心点


  3. [cell.contentView addSubview:btnName];
    
    btnName.center = CGPointMake(cell.frame.size.width/2.f, btnName.center.y);
    

答案 2 :(得分:0)

Vladimir's回答救了我的一天。我使用了setAutoresizingMask,现在它变得非常好了。