Tôi có một lớp con UIView tùy chỉnh đang được khởi tạo qua một ngòi.Định tâm X của chế độ xem con trong tự động trả lời "không được chuẩn bị cho ràng buộc"
Trong -awakeFromNib
, tôi đang tạo một chế độ xem phụ và cố gắng căn giữa nó trong phần giám sát của nó.
[self setInteralView: [[UIView alloc] init]];
[[self internalView] addConstraint: [NSLayoutConstraint constraintWithItem: [self internalView]
attribute: NSLayoutAttributeCenterX
relatedBy: NSLayoutRelationEqual
toItem: self
attribute: NSLayoutAttributeCenterX
multiplier: 1
constant: 0]];
này phá vỡ, và làm cho đầu ra sau đây:
2013-08-11 17:58:29.628 MyApp[32414:a0b] The view hierarchy is not prepared for the constraint: <NSLayoutConstraint:0xc1dcc80 UIView:0xc132a40.centerX == MyView:0xc1315a0.centerX>
When added to a view, the constraint's items must be descendants of that view (or the view itself). This will crash if the constraint needs to be resolved before the view hierarchy is assembled. Break on -[UIView _viewHierarchyUnpreparedForConstraint:] to debug.
2013-08-11 17:58:29.630 MyApp[32414:a0b] View hierarchy unprepared for constraint.
Constraint: <NSLayoutConstraint:0xc1dcc80 UIView:0xc132a40.centerX == MyView:0xc1315a0.centerX>
Container hierarchy:
<UIView: 0xc132a40; frame = (0 0; 0 0); clipsToBounds = YES; layer = <CALayer: 0xc132bc0>>
View not found in container hierarchy: <MyView: 0xc1315a0; frame = (-128 -118; 576 804); layer = <CALayer: 0xc131710>>
That view's superview: <UIView: 0xc131a70; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0xc131b50>>
Điều đó mang lại cho tôi một lỗi tuyên bố 'Không thể thỏa mãn đồng thời hạn chế. Có lẽ ít nhất một trong những ràng buộc trong danh sách sau đây là một trong những bạn không muốn.' Và sau đó nó phá vỡ '' –
Rất có thể vì bạn didn ' t tắt tính năng tự động thay đổi kích thước mặt nạ thành các ràng buộc. Tôi sẽ cập nhật mã của tôi ở trên để làm như vậy. Bạn cũng có thể cần thêm các ràng buộc chiều rộng/chiều cao để nó có thể nhìn thấy được và tôi khuyên bạn nên thêm một ràng buộc vào trung tâm Y hoặc một số ràng buộc trên/dưới để tự tạo bố cục được xác định rõ. –
để bạn không thể có bố cục như: '@" V: | [v] | "'? vì điều này sẽ ám chỉ đến người giám sát? – Sam