如何使用目标C将导航栏标题设置为iOS 11中的新大版本?
swift中有很多例子,但目标c没有。
Apple建议
@property(nonatomic, readwrite, assign) BOOL prefersLargeTitles;
但这不起作用。
我的代码是
[super viewWillAppear:animated];
[self.navigationController setNavigationBarHidden:NO];
[self.navigationController.navigationBar setBackgroundImage:[[UINavigationBar appearance] backgroundImageForBarMetrics:UIBarMetricsDefault] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.barStyle=UIBarStyleDefault;
答案 0 :(得分:7)
该财产存在;这只是一个事实。这不是“有效”,因为你没有做任何东西。你不能只是坐在那里盯着它。如果您希望此属性为YES,则必须将设置为YES:
self.navigationController.navigationBar.prefersLargeTitles = YES;
答案 1 :(得分:0)
if #available(iOS 11.0, *) {
navigationController?.navigationBar.prefersLargeTitles = true
navigationController?.navigationBar.topItem?.title = "Hello"
navigationController?.navigationItem.largeTitleDisplayMode = .automatic
let attributes = [
NSAttributedStringKey.foregroundColor : UIColor.red,
]
navigationController?.navigationBar.largeTitleTextAttributes = attributes
} else {
// Fallback on earlier versions
}
了解更多详情:https://developers.facebook.com/docs/instagram-api/v2.10