【问题标题】:fitting a button inside a grouped table cell在分组的表格单元格内安装一个按钮
【发布时间】:2023-03-06 15:51:01
【问题描述】:

我正在尝试使按钮适合分组表格单元格的边界。您可能知道,分组的表格视图在单元格的左侧和右侧都有边距。但是,单元格的边界就好像这些边距不存在一样。我可以对框架进行硬编码,但我很好奇是否有更好的方法可以将按钮放入分组表的单元格边界内。

这是我当前的设置...我还在这里阅读了另一篇文章来尝试自动调整大小蒙版,但这也不起作用。

        SubmitButton *search = tableValues.key; //pulling my button object from an array
        search.frame = cell.bounds;
        cell.clipsToBounds=YES;
        [cell addSubview:search];

这样,按钮的边缘仍然会超出单元格的边缘。

谢谢

【问题讨论】:

  • 在创建框架时,您可以使用 CGRectMake。然后从 cell.bounds.size.width 和 cell.bounds.size.height 中减去。虽然,这实际上与我认为的硬编码相同,因为您仍然需要一些幻数来减去。
  • 您是否尝试使用 cell.accessoryView = myButton; 设置按钮?如果您想在右侧有一个按钮或进行自定义,这很有效!

标签: iphone ios objective-c xcode ipad


【解决方案1】:

应将子视图添加到单元格的 contentView,而不是直接添加到单元格。单元格的框架是表格视图的整个宽度,即使是分组表格也是如此。单元格的 contentView 大小适当,以考虑普通与分组以及各种单元格装饰,如删除图标、重新排序句柄和披露指示符。

将按钮的框架调整到contentView,并将按钮添加到contentView

【讨论】:

  • 我将这些行的代码更改为 search.frame = baseCell.contenView.bounds[baseCell.contentView addSubview: search]。结果给了我正确的左侧边界,但右侧现在延伸到屏幕外。
  • 确保您还设置了按钮的autoresizingMask 以实现灵活宽度。
  • 是的,明白了。谢谢rmaddy
  • 完美答案!第一句话触发了我,因为我正在添加像 [cell addSubview:view] 这样的子视图,这是错误的。这使得拉伸错误。通过将其更改为 [cell.contentView addSubview:view] 它已修复!
猜你喜欢
  • 1970-01-01
  • 2018-03-18
  • 2014-01-14
  • 2016-02-23
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2017-03-25
相关资源
最近更新 更多