navigationItem.TitleView 未在 iOS 10 上工作
navigationItem.TitleView not working on iOS 10
我对导航栏中的标题视图有疑问。问题是当我将视图分配给 titleView 时它不会显示。我尝试使用 navigationItem.title = @"eqweqweq";
但没有任何反应。
这个视图是由代码创建的,我不知道这是否是问题所在,因为我使用的其他 ViewControllers 工作得很好。
在 iOS10 中是否存在我无法使用 titleView 的错误?有时有效有时无效。
我在 google 上搜索过,但没有任何帮助。我希望有人能帮助我 T_T。
谢谢
一次只用一个。
设置 titleView
或 navigationItem
,如下所示:
UILabel *lblTitle = [[UILabel alloc] init];
lblTitle.text = @"eqweqweq";
lblTitle.backgroundColor = [UIColor clearColor];
[lblTitle sizeToFit];
self.navigationItem.titleView = lblTitle;
或
直接设置 navigationItem
的 title
如下:
navigationItem.title=@"eqweqweq"
请试试这个。对我有用。
self.title = "eqweqweq"
希望对您有所帮助you.Thanks
终于解决了问题!
问题出在这个函数上:
extension UINavigationController{
func applyWhiteEffect(){
var bounds = self.navigationBar.bounds
let whiteView = UIView()
bounds.origin.y = -20
bounds.size.height = bounds.size.height + 20
whiteView.frame = bounds
whiteView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
whiteView.userInteractionEnabled = false
whiteView.backgroundColor = UIColor.whiteColor()
whiteView.tag = 1000
self.navigationBar.addSubview(whiteView)
self.navigationBar.backgroundColor = UIColor.clearColor()
self.navigationBar.sendSubviewToBack(whiteView)
}
}
这个函数应用了一个白色视图,但那个和 iOS10 有问题,所以我改成这样:
func applyWhiteEffect(){
var bounds = self.navigationBar.bounds
let whiteView = UIView()
bounds.origin.y = -20
bounds.size.height = 20
whiteView.frame = bounds
whiteView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
whiteView.userInteractionEnabled = false
whiteView.backgroundColor = UIColor.whiteColor()
whiteView.tag = 1000
self.navigationBar.addSubview(whiteView)
self.navigationBar.backgroundColor = UIColor.whiteColor()
self.navigationBar.sendSubviewToBack(whiteView)
}
将视图更改为仅覆盖状态栏和 self.navigationBar.backgroundColor = UIColor.whiteColor()
谢谢大家帮助我 :D
确保设置自定义 titleView 的大小。例如,在设置 titleView.
之前使用 titleLabel.sizeToFit()
let titleLabel = UILabel()
titleLabel.attributedText = NSAttributedString(string: title, attributes: attributes)
titleLabel.sizeToFit() // Important part
navigationItem.titleView = titleLabel
尝试在 viewWillApear 函数中设置 titleView。
我对导航栏中的标题视图有疑问。问题是当我将视图分配给 titleView 时它不会显示。我尝试使用 navigationItem.title = @"eqweqweq";
但没有任何反应。
这个视图是由代码创建的,我不知道这是否是问题所在,因为我使用的其他 ViewControllers 工作得很好。
在 iOS10 中是否存在我无法使用 titleView 的错误?有时有效有时无效。
我在 google 上搜索过,但没有任何帮助。我希望有人能帮助我 T_T。
谢谢
一次只用一个。
设置 titleView
或 navigationItem
,如下所示:
UILabel *lblTitle = [[UILabel alloc] init];
lblTitle.text = @"eqweqweq";
lblTitle.backgroundColor = [UIColor clearColor];
[lblTitle sizeToFit];
self.navigationItem.titleView = lblTitle;
或
直接设置 navigationItem
的 title
如下:
navigationItem.title=@"eqweqweq"
请试试这个。对我有用。
self.title = "eqweqweq"
希望对您有所帮助you.Thanks
终于解决了问题!
问题出在这个函数上:
extension UINavigationController{
func applyWhiteEffect(){
var bounds = self.navigationBar.bounds
let whiteView = UIView()
bounds.origin.y = -20
bounds.size.height = bounds.size.height + 20
whiteView.frame = bounds
whiteView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
whiteView.userInteractionEnabled = false
whiteView.backgroundColor = UIColor.whiteColor()
whiteView.tag = 1000
self.navigationBar.addSubview(whiteView)
self.navigationBar.backgroundColor = UIColor.clearColor()
self.navigationBar.sendSubviewToBack(whiteView)
}
}
这个函数应用了一个白色视图,但那个和 iOS10 有问题,所以我改成这样:
func applyWhiteEffect(){
var bounds = self.navigationBar.bounds
let whiteView = UIView()
bounds.origin.y = -20
bounds.size.height = 20
whiteView.frame = bounds
whiteView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
whiteView.userInteractionEnabled = false
whiteView.backgroundColor = UIColor.whiteColor()
whiteView.tag = 1000
self.navigationBar.addSubview(whiteView)
self.navigationBar.backgroundColor = UIColor.whiteColor()
self.navigationBar.sendSubviewToBack(whiteView)
}
将视图更改为仅覆盖状态栏和 self.navigationBar.backgroundColor = UIColor.whiteColor()
谢谢大家帮助我 :D
确保设置自定义 titleView 的大小。例如,在设置 titleView.
之前使用 titleLabel.sizeToFit()let titleLabel = UILabel()
titleLabel.attributedText = NSAttributedString(string: title, attributes: attributes)
titleLabel.sizeToFit() // Important part
navigationItem.titleView = titleLabel
尝试在 viewWillApear 函数中设置 titleView。