【发布时间】:2014-11-07 13:49:57
【问题描述】:
背景:我正在使用界面构建器构建一个论坛,其中视图控制器中有一个表格视图,外部有一个输入附件视图。在运行时,输入附件视图将被添加到表格视图中,并成为一个类似信使的输入栏。
我试图通过更改高度约束在输入附件视图上实现自动调整大小功能(常见于消息传递应用程序)。但是没有办法在界面生成器中创建输入附件视图的高度约束,所以我只是在代码中添加了它们。
NSLayoutConstraint *inputAccessoryConstraint = [NSLayoutConstraint constraintWithItem:self.inputAccessoryView
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:nil attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:100];
[self.inputAccessoryView addConstraint:inputAccessoryConstraint];
并收到以下警告:
Unable to simultaneously satisfy constraints.
...
(
"<NSLayoutConstraint:0x7fa5a413f450 V:[UIView:0x7fa5a264f8d0(100)]>",
"<NSLayoutConstraint:0x7fa5a2483890 '_UIKBAutolayoutHeightConstraint' V:[UIView:0x7fa5a264f8d0(44)]>"
)
问题是我的新约束与运行时添加的自动布局约束之一冲突。如何在代码中删除/修改自动布局约束?
【问题讨论】:
-
您是在代码中还是在 IB 中创建 inputAccessoryView?如果在代码中,也许你需要添加:[yourInputAccessoryView setTranslatesAutoresizingMaskIntoConstraints:NO];
-
@Mathieu 在 IB 中,然后通过 self.inputAccessoryView = self.keybordBar; 将其添加到代码中的 tableview 中[self.tableView 成为FirstResponder];
-
@Peter 你解决过这个问题吗?我也有类似的问题!
-
@Tometoyou 不幸的是没有。
标签: ios objective-c storyboard autolayout