繁体   English   中英

UIView高度未调整为UITableView标头中的子视图高度

[英]UIView height not adjusting to subview heights in UITableView header

我有一个带有标题视图和自定义行的UITableView。 标题视图的高度未正确调整为其子视图的约束高度。

标头视图容器视图具有受高度限制的以下子视图:

  • 视图(此高度应计算为188,但改为128)
    • 地图:UIImage(高度= 128)
    • 查看:UIView(高度= 60)

在此处输入图片说明

页眉视图的高度应按照情节提要中所示的“地图高度+视图高度= 128 + 60 = 188”进行计算。 但是,在模拟器中运行此命令会将标题视图压缩为128,如下所示:

在此处输入图片说明

进一步检查显示标题视图的高度为128,而不是预期的188:

在此处输入图片说明

此外,“调试”区域显示了一个约束冲突,该冲突表明标题视图的高度正试图变为128,这与其子视图的高度冲突。 结果,它压缩了地图高度:

2015-11-27 16:58:46.415 MyApp[3387:52799] 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) 
(
    "<NSAutoresizingMaskLayoutConstraint:0x7fcb5acf1270 h=--& v=--& V:[UIView:0x7fcb5c246620(128)]>",
    "<NSLayoutConstraint:0x7fcb5c24c440 V:[Stop Details Container]-(0)-|   (Names: Stop Details Container:0x7fcb5c24c490, '|':UIView:0x7fcb5c246620 )>",
    "<NSLayoutConstraint:0x7fcb5c24c6f0 V:[Map]-(0)-[Stop Details Container]   (Names: Stop Details Container:0x7fcb5c24c490, Map:0x7fcb5c24aa10 )>",
    "<NSLayoutConstraint:0x7fcb5c24c830 V:|-(0)-[Map]   (Names: Map:0x7fcb5c24aa10, '|':UIView:0x7fcb5c246620 )>",
    "<NSLayoutConstraint:0x7fcb5c24c880 V:[Map(128)]   (Names: Map:0x7fcb5c24aa10 )>",
    "<NSLayoutConstraint:0x7fcb5c24c8d0 V:[Stop Details Container(60)]   (Names: Stop Details Container:0x7fcb5c24c490 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fcb5c24c880 V:[Map(128)]   (Names: Map:0x7fcb5c24aa10 )>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.

如何使标题视图的高度正确计算为其子视图的高度?

为了强制tableViewHeader的高度,我必须使用文本编辑器在Storyboard文件中手动编辑height属性,这可以解决问题。

在此处输入图片说明

这无疑是Xcode 7.1中的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM