在iOS11以后,storyboard可以直接拖動(dòng)控件到導(dǎo)航欄上,但是不能設(shè)置與導(dǎo)航之間的約束,需要代碼設(shè)置
iOS11之后 設(shè)置titleView必須設(shè)置寬高 否則size是(0,0)
首先拖一個(gè)navigationI Item在導(dǎo)航欄上
選擇navigationI Item
然后拖一個(gè)UIView
添加一個(gè)UIView
此時(shí)沒有frame 在右邊設(shè)置一下 但是最終的效果一般不依賴這個(gè) 為了方便布局 先設(shè)置一下
可以手填寬高 然后選擇兩個(gè)center
image.png
此時(shí)變成這樣
image.png
再接著往這個(gè)view上拖動(dòng)控件 就可以設(shè)置相互的約束了
image.png
image.png
最后 IBOutlet到VC文件中,設(shè)置布局 可以用frame也可以用autolayout
[self.customTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.center.equalTo(self.customTitleView.superview);
make.size.mas_equalTo(CGSizeMake(200, 40));
}];
運(yùn)行效果