【发布时间】:2014-06-27 08:06:47
【问题描述】:
我在 XIB 中添加了 1 个视图,它设置为自动布局。但是在运行时,我想更改该视图的框架。我知道如果使用自动布局,需要在我的代码中设置translatesAutoresizingMaskIntoConstraints = YES。我已经这样做了,我为该视图创建了新框架,但它在控制台中显示了警告消息:
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)
(
"<NSIBPrototypingLayoutConstraint:0x16e4b750 'IB auto generated at build time for view with fixed frame' V:|-(0)-[UIView:0x16ed3c30] (Names: '|':UIView:0x16ee06b0 )>",
"<NSAutoresizingMaskLayoutConstraint:0x16e19e30 h=-&- v=-&- UIView:0x16ed3c30.midY == UIView:0x16ee06b0.midY + 44>",
"<NSAutoresizingMaskLayoutConstraint:0x16e19e60 h=-&- v=-&- UIView:0x16ed3c30.height == UIView:0x16ee06b0.height>"
)
Will attempt to recover by breaking constraint
<NSIBPrototypingLayoutConstraint:0x16e4b750 'IB auto generated at build time for view with fixed frame' V:|-(0)-[UIView:0x16ed3c30] (Names: '|':UIView:0x16ee06b0 )>
Break on objc_exception_throw to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
这是创建新框架的代码,我只希望 Y 的原点等于 0。
self.leftView.frame= CGRectMake(0, 0, 40, self.view.frame.size.height);
我该如何修复这个错误?请给一些建议。非常感谢。
【问题讨论】:
标签: ios objective-c uiview constraints