我的导航标题在某些较小的设备上太大。
我读过很多方法来设置titleTextAttributes
and largeTitleTextAttributes
of the UINavigationBar.appearance()
但是,当将段落样式设置为自动换行时,似乎删除了标准...
剪切并使文本继续离开屏幕边缘而不换行:
init() {
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.lineBreakMode = .byWordWrapping
UINavigationBar.appearance().largeTitleTextAttributes = [
.paragraphStyle: paragraphStyle
]
}
我想保持 SwiftUI 行为,其中标题显示为大文本,直到视图向上滚动并移动到导航栏,因此获取.toolbar
直接没有帮助。
我也不想只指定较小的字体,因为我只想在必要时缩小或换行。
有人设法实现这一目标吗?
您可以在出现问题的视图的初始值设定项上添加此行
UILabel.appearance(whenContainedInInstancesOf: [UINavigationBar.self]).adjustsFontSizeToFitWidth = true
Example:
struct YourView: View {
init() {
UILabel.appearance(whenContainedInInstancesOf: [UINavigationBar.self]).adjustsFontSizeToFitWidth = true
}
var body: some View {
NavigationView {
Text("Your content")
.navigationBarTitle("Very very large title to fit in screen")
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)