如果有人可以帮助我解决以下问题,将不胜感激。
我创建了一个UINavigationBar
类,该类是我想在其中实现的ViewController
中创建的一个实例。但是,NavigationBar的标题没有出现在我想要的位置。如图所示,标题当前正显示在NavigationBar的最顶部(即,深蓝色区域)。如何使标题出现在浅蓝色区域?以及如何根据需要修改其在NavigationBar区域中的位置?
谢谢, 沙迪。
import UIKit
import ChameleonFramework
class CustomNavigationBar: UINavigationBar {
override init(frame: CGRect) {
super.init(frame: frame)
setupNavigationBar()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupNavigationBar()
}
func setupNavigationBar() {
isTranslucent = true
backgroundColor = .blue
barStyle = .blackTranslucent
var fsafdsaf = topItem?.title
fsafdsaf = "dsadfsadfsafsdafsad"
let titlfsdfe = UINavigationItem.init(title: fsafdsaf!)
setItems([titlfsdfe], animated: false)
}
}
答案 0 :(得分:0)
我设法解决了我的问题,但是,任何其他替代方案都受到欢迎。
基本上,我在UINavigationBar类的导航栏中添加了UILabel,并设法解决了问题。
import UIKit
import ChameleonFramework
class CustomNavigationBar: UINavigationBar {
override init(frame: CGRect) {
super.init(frame: frame)
setupNavigationBar()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setupNavigationBar()
}
func setupNavigationBar() {
isTranslucent = true
backgroundColor = .blue
barStyle = .blackTranslucent
let navigationBarTitleFrame = CGRect(x: 200, y: 50, width: 120, height: 25)
let navigationBarTitle = UILabel(frame: navigationBarTitleFrame)
navigationBarTitle.text = "This is my title"
navigationBarTitle.textAlignment = .center
navigationBarTitle.textColor = .white
navigationBarTitle.layer.borderWidth = 3.0
self.addSubview(navigationBarTitle)
}
}