给导航栏添加标签
Add labels to navigation bar
我正在向我的应用添加日历,我认为按照工作日标签模仿标准 iOS 日历应用的格式会很酷:
在日历应用程序中,这些标签 (S,M,T,W,T,F,S) 似乎集成到导航栏中,所以我想知道是否有办法实现这个或者是否这是 Apple 留给自己的东西(因为似乎没有标准的方法可以添加除了栏按钮项目之外的任何东西)。请注意,这些标签应该是动态的——例如在第 2 天的情况下,某些 Locale
.
重新排列为 firstWeekDay
您只需要为导航项的标题视图设置一个视图,例如:
sampleLabel.textAlignment = .center
sampleLabel.textColor = UIColor.white
sampleLabel.font = UIFont.systemFont(ofSize: 12, weight: .medium)
sampleLabel.frame = CGRect(x: 0, y: 0, width: 40, height: 30)
sampleLabel.text = "T"
let titleView = UIView
titleView.frame = CGRect(x: 0, y: 0, width: 200, height: 50)
titleView.addSubview(sampleLabel)
navigationItem.titleView = titleView
您可以在任何需要的地方向导航栏添加标签,例如 sampleLabel。
Apple 建议不要调整 navigationBar 本身的大小,而是移除 bar 的阴影并在 navigationBar 下添加自定义视图。
这里请参考苹果推荐的扩展导航栏的方法 - https://developer.apple.com/library/content/samplecode/NavBar/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007418-Intro-DontLinkElementID_2
我正在向我的应用添加日历,我认为按照工作日标签模仿标准 iOS 日历应用的格式会很酷:
在日历应用程序中,这些标签 (S,M,T,W,T,F,S) 似乎集成到导航栏中,所以我想知道是否有办法实现这个或者是否这是 Apple 留给自己的东西(因为似乎没有标准的方法可以添加除了栏按钮项目之外的任何东西)。请注意,这些标签应该是动态的——例如在第 2 天的情况下,某些 Locale
.
firstWeekDay
您只需要为导航项的标题视图设置一个视图,例如:
sampleLabel.textAlignment = .center
sampleLabel.textColor = UIColor.white
sampleLabel.font = UIFont.systemFont(ofSize: 12, weight: .medium)
sampleLabel.frame = CGRect(x: 0, y: 0, width: 40, height: 30)
sampleLabel.text = "T"
let titleView = UIView
titleView.frame = CGRect(x: 0, y: 0, width: 200, height: 50)
titleView.addSubview(sampleLabel)
navigationItem.titleView = titleView
您可以在任何需要的地方向导航栏添加标签,例如 sampleLabel。
Apple 建议不要调整 navigationBar 本身的大小,而是移除 bar 的阴影并在 navigationBar 下添加自定义视图。
这里请参考苹果推荐的扩展导航栏的方法 - https://developer.apple.com/library/content/samplecode/NavBar/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007418-Intro-DontLinkElementID_2