视图控制器中最近的祖先self.navigationController.navigationBar
和子视图是什么self.view
,以便我可以将约束添加到该祖先?
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectZero];
[self.searchBar setTranslatesAutoresizingMaskIntoConstraints:NO];
[self.view addSubview:self.searchBar];
NSLayoutConstraint* cn = [NSLayoutConstraint constraintWithItem:self.searchBar
attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual
toItem:self.navigationController.navigationBar attribute:NSLayoutAttributeBottom
multiplier:1.0 constant:0];
我试着做
[self.view addConstraint:cn];
[self.navigationController.view addConstraint:cn];
但两次我都得到错误,“约束是否引用了视图子树之外的东西?那是非法的。”
有人可以解释与导航控制器相关的视图控制器的视图层次结构吗?
谢谢!