在UILabel和UIButton之间拆分单元格的全部内容

时间:2011-10-15 23:57:21

标签: ios cocoa-touch

我有一个子类UITableViewCell。我正在动态添加UILabel和UIButton。

现在我已经覆盖了layoutSubviews并且正在设置x,y绝对是按钮和标签。为了能够容纳屏幕布局以及更大的屏幕,我想自动完成。有没有办法告诉标签“向左浮动”,按钮“向右浮动?”理想情况下,标签应该占用按钮不需要的所有空间(按钮大部分都是固定尺寸)。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

你可以试试这样的事情,假设cellLbl是UILabel而cellBtn是UIButton:

- (void) layoutSubviews
{
  CGRect rctFrm;
  CGFloat flW;
  CGFloat flH;
  int iSpacing = 4; // This could be fixed for a percentage of cell width

  [super layoutSubviews];
  flW = self.contentView.bounds.size.width;
  flH = self.contentView.bounds.size.height;
  rctFrm = self.cellBtn.frame;
  flW -= rctFrm.size.width + iSpacing;
  rctFrm.origin.x = flW; // Right justify button
  rctFrm.origin.y = (flH - rctFrm.size.height) / 2; // Center button vertically
  [self.cellBtn setFrame:rctFrm];
  rctFrm = self.cellLbl.frame;
  rctFrm.origin.x = iSpacing;
  rctFrm.size.width = flW - (2 * iSpacing);
  // You can adjust UILabel vertical position and height if desired
  [self.cellLbl setFrame:rctFrm];
}