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

Posted

技术标签:

【中文标题】在 UILabel 和 UIButton 之间拆分单元格的全部内容【英文标题】:Split the full contents of cell between UILabel and UIButton 【发布时间】:2011-10-15 23:57:20 【问题描述】:

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

现在我已经覆盖了 layoutSubviews 并设置了按钮和标签的 x,y 绝对值。为了能够同时适应屏幕布局和更大的屏幕,我想让它自动化。有没有办法告诉标签“向左浮动”和按钮“向右浮动”?理想情况下,标签应该用完按钮不需要的所有空间(按钮大部分是固定大小的)。

【问题讨论】:

【参考方案1】:

this property of uiview should get you started

【讨论】:

【参考方案2】:

假设 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];

【讨论】:

以上是关于在 UILabel 和 UIButton 之间拆分单元格的全部内容的主要内容,如果未能解决你的问题,请参考以下文章

使用自动布局将 UIButton 和 UILabel 居中

动态大小的 UILabel 直接跟在 UIButton 后面

自动布局:包含 UILabel + UIButton 的标题视图

在 UIButton 的文本结尾之后定位 UILabel?

知道当 UILabel 的多行属性打开时,它在哪里拆分字符串

使用 UILabel 和 UIButton 显示用户标签