Ale*_*nco 3 xcode uibarbuttonitem ios swift swift3
我正在尝试以编程方式覆盖带有静态图像的导航项的 rightButton 以实现此目的:
以下代码没有给出任何错误,但导航栏中没有显示任何内容。
import UIKit
import Foundation
class UICipNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
// Add BPT LOGO as UIBarButton
let logoBPT = UIImage(named: "Logo BPT")?.withRenderingMode(.alwaysOriginal)
let logoBPTBarButton = UIBarButtonItem(image: logoBPT, style: .plain, target: nil, action: nil)
self.navigationItem.rightBarButtonItem = logoBPTBarButton
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Run Code Online (Sandbox Code Playgroud)
.
import UIKit
class UICipNavigationBar: UINavigationBar {
override init(frame: CGRect){
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
self.tintColor = UIColor.white
self.setBackgroundImage(UIImage.fromColor(color: UIColorFromHex(rgbValue: 0xffffff, alpha: 0.2)), for: UIBarMetrics.default)
self.shadowImage = UIImage()
self.isTranslucent = true
self.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.white, NSFontAttributeName: UIFont(name: "Lato-Regular", size: 24)!]
}
override func sizeThatFits(_ size: CGSize) -> CGSize {
let newSize :CGSize = CGSize(width: self.superview!.bounds.size.width, height: 60)
return newSize
}
}
Run Code Online (Sandbox Code Playgroud)
我也尝试检查视图,但似乎没有添加任何内容:
注意: Image name/file/extention是敏感的。当你设置时barButtonImage。确保你正确设置它们。我正在评估asset catalog(32pt)的图像文件。
let myimage = UIImage(named: "YourImageFileName")?.withRenderingMode(.alwaysOriginal)
navigationItem.rightBarButtonItem = UIBarButtonItem(image: myimage, style: .plain, target: self, action: #selector(ButtonTapped))
func ButtonTapped() {
print("Button Tapped")
}
Run Code Online (Sandbox Code Playgroud)
输出: updated
方法二:Testing Purpose
注意:在 Xcode 中将您的标题设置为表情符号图标。运行项目,看看效果如何?
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: #selector(ButtonTapped))
func ButtonTapped() {
print("Button Tapped")
}
Run Code Online (Sandbox Code Playgroud)
输出:
| 归档时间: |
|
| 查看次数: |
3773 次 |
| 最近记录: |