我希望我的应用程序的徽标后跟导航栏上的应用程序名称。除此之外,应该有一个后退按钮。
下面是截图:
我已尝试过以下代码。
self.navigationItem.setHidesBackButton(false, animated:true);
let imgLogo : UIImage = UIImage(named:"Logo")!
let imgViewLogo : UIImageView = UIImageView(image: imgLogo)
imgViewLogo.frame = CGRectMake(0, 0, 40, 40)
let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo)
self.navigationItem.leftBarButtonItem = leftItem
// App Name set on storyboard at design-time
这会将徽标放在下面显示的后退按钮的顶部。
如何实现这一目标?
答案 0 :(得分:2)
您可以使用navigationItem.titleView
的自定义视图。使用您的徽标和UIViewController标题的标签创建UIView并设置
navigationItem.titleView = YOUR_CUSTOM_VIEW;
答案 1 :(得分:1)
而不是使用let imgLogo : UIImage = UIImage(named:"Logo")!
let imgViewLogo : UIImageView = UIImageView(image: imgLogo)
imgViewLogo.frame = CGRectMake(0, 0, 40, 40)
let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo)
self.navigationItem.leftBarButtonItems?.append(leftItem)
使用:
removeClass()
答案 2 :(得分:0)
你可以找到很多关于它的例子。
在这个例子中,如果你需要的话,我还添加了一个空间来集中你的徽标:
let leftButton: UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Logo")!, style: UIBarButtonItemStyle.Plain, target: self, action:#selector(MyViewController.leftButtonPress(_:)))
let negativeSpacer = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FixedSpace, target: nil, action: nil)
negativeSpacer.width = -5.0 // Left inset to better center your logo
navigationItem.leftBarButtonItems = [negativeSpacer,leftButton]
func leftButtonPress(sender: AnyObject?) {
// do whatever you want when you press back button
}