gpt4 book ai didi

ios - UITableViewCell systemLayoutSizeFittingSize 额外增加 0.5 px

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:02:57 25 4
gpt4 key购买 nike

我的单元格中只有一个按钮,我添加了按钮高度 = 30、顶部 = 10 和底部 = 10 约束,因此 systemLayoutSizeFittingSize 必须返回单元格高度 = 50。不过它返回 50.5,我在日志:

Will attempt to recover by breaking constraint 

我正在使用分组 TableView 并将分隔符设置为无。哪里需要额外的 0.5px?

constraints

代码片段:

[cell layoutSubviews];
return [cell systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height;// 50;

日志:

 Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
(
"<NSLayoutConstraint:0x7ffa71e273e0 V:[UIButton:0x7ffa71e24900'Book a new hotel'(30)]>",
"<NSLayoutConstraint:0x7ffa71e20bc0 V:|-(10)-[UIButton:0x7ffa71e24900'Book a new hotel'] (Names: '|':UITableViewCellContentView:0x7ffa71e06030 )>",
"<NSLayoutConstraint:0x7ffa71e23ae0 UITableViewCellContentView:0x7ffa71e06030.bottomMargin == UIButton:0x7ffa71e24900'Book a new hotel'.bottom + 2>",
"<NSLayoutConstraint:0x7ffa705f6640 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7ffa71e06030(50.5)]>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x7ffa71e273e0 V:[UIButton:0x7ffa71e24900'Book a new hotel'(30)]>

最佳答案

iOS 8

如果您的目标是 iOS8,那么它会使这变得容易得多,因为表格 View 单元格现在可以通过 AutoLayout 自动调整大小。

要做到这一点,只需在您的 heightForRow 方法中返回 UITableViewAutomaticDimension...

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}

从本质上讲,这就是我认为您正在尝试使用您的代码片段执行的操作。

iOS 7

对于 iOS 7,我会以不同的方式设置约束。我没有设置顶部和底部约束,而是有一个“垂直居中”约束。

然后你可以返回任何你想返回的数字并且约束不会被破坏。

你没有得到自动高度的东西,但高度似乎并没有改变。

关于ios - UITableViewCell systemLayoutSizeFittingSize 额外增加 0.5 px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26971423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com