Trong điều khiển xem gốc của tôi, tôi thêm xem một cái nhìn trẻ điều khiển như một subview, như sau:Sử dụng iOS Auto Layout để thiết lập các ràng buộc giữa một bộ điều khiển xem đứa trẻ và xem mẹ
ChildViewController *cvc = [[ChildViewController alloc] init];
[self addChildViewController:cvc];
[self.view addSubview:cvc.view];
[cvc didMoveToParentViewController:self];
và tôi Bây giờ muốn sử dụng NSLayoutConstraint để định vị cvc.view trong chế độ xem gốc (self.view), sao cho cvc.view định vị 25 pts phía trên cùng của chế độ xem gốc. Sự hiểu biết của tôi là những điều sau đây sẽ hoạt động:
UIView *superview = self.view;
UIView *childview = cvc.view;
NSLayoutConstraint *cn =
[NSLayoutConstraint withItem:childview
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:superview attribute:NSLayoutAttributeBottom
multiplier: 1.0
constant: -25.0];
[superview addConstraint: cn];
Nhưng ràng buộc không thành công khi chạy. Tôi nghĩ ban đầu có lẽ mặt nạ tự động hóa trong chế độ xem trẻ em đang gây ra sự cố (và theo dõi video giới thiệu WWDC 2012 trên bố cục tự động), vì vậy tôi đặt [childview setTranslatesAutoresizingMaskIntoConstraints:NO]
, nhưng sau đó chế độ xem con đơn giản không xuất hiện.
Tôi đang làm gì sai?