我有一个自定义titleView,我需要设置最大宽度。这将是屏幕宽度 - 左项目的宽度(后标题,按钮或零) - 右项目的宽度(按钮或零)。我怎么能确定这个?
谢谢。
我有一个自定义titleView,我需要设置最大宽度。这将是屏幕宽度 - 左项目的宽度(后标题,按钮或零) - 右项目的宽度(按钮或零)。我怎么能确定这个?
谢谢。
导航栏是否自动将宽度设置为最大值?我的意思是,我确定调用了自定义titleView的sizeThatFits:方法。也许这是一个很好的起点。
导航栏是否自动将宽度设置为最大值?我的意思是,我确定调用了自定义titleView的sizeThatFits:方法。也许这是一个很好的起点。
_segmentedControl.frame = CGRectMake(0, 0, CGFLOAT_MAX, _segmentedControl.frame.size.height);
[self.navigationItem setTitleView:_segmentedControl];
将CGFLOAT_MAX设置为navigationItem标题视图的宽度使用左项和右项之间的最大可用空间。
将titleView宽度设置为超过最大屏幕宽度所需的宽度,导航栏调整宽度以适应屏幕。如果有左或右UIBarButtonItem,则titleView会相对于它们调整大小。尝试旋转屏幕,亲眼看看。
func setTitleView(){
guard let navFrame = navigationController?.navigationBar.frame else{
return
}
let myView = UIView(frame: CGRect(x: 0, y: 0, width: navFrame.width*3, height: navFrame.height))
myView.backgroundColor = UIColor.orange
self.navigationItem.titleView = myView
}