如何使用图像和标签制作自定义正确的 UIBarButtonItem?
Posted
技术标签:
【中文标题】如何使用图像和标签制作自定义正确的 UIBarButtonItem?【英文标题】:How to make custom right UIBarButtonItem with image and label? 【发布时间】:2015-07-19 08:43:25 【问题描述】:我实际上发现了同样的问题 here 但对于 obj.c 所以我设法做到了:
trashNavButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
trashNavButton.addTarget(self, action: "trashItemClicked", forControlEvents: UIControlEvents.TouchUpInside)
trashNavButton = UIButton(frame: CGRectMake(0, 0, 50, 32))
trashNavButton.setTitle("\(trashCount)", forState: UIControlState.Normal)
trashNavButton.setTitleColor(UIColor(red: 229.0/255.0, green: 57.0/255.0, blue: 53.0/255.0, alpha: 1.0), forState: UIControlState.Normal)
trashNavButton.titleLabel?.textAlignment = NSTextAlignment.Right
trashNavButton.setImage(UIImage(named: "trashButton"), forState: UIControlState.Normal)
rightBarButton.customView = trashNavButton
self.navigationItem.rightBarButtonItem = rightBarButton
我想要做的是在导航栏的右侧有一个按钮,我希望该按钮的左侧也有一个标签(你可以看到我上面提到的问题的一个很好的例子) ,而且这段代码工作得很好,除了图像在左边,标签在右边,我希望它是相反的,我会感谢你的帮助:)
【问题讨论】:
注意uibarbuttonitem上的自定义View。像这样: self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: yourCustomView) 似乎会对你有所帮助。 【参考方案1】:举个例子
let containView = UIView(frame: CGRectMake(0, 0,70, 40))
let label = UILabel(frame: CGRectMake(0, 0, 50, 40))
label.text = "Right"
label.textAlignment = NSTextAlignment.Center
containView.addSubview(label)
let imageview = UIImageView(frame: CGRectMake(50, 10, 20, 20))
imageview.image = UIImage(named: "memoAccess")
imageview.contentMode = UIViewContentMode.ScaleAspectFill
containView.addSubview(imageview)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: containView)
【讨论】:
如何让标签右对齐?文本将是一个可以更改的数字 好的,谢谢,你知道如何让它像一个按钮一样工作吗?在突出显示时更改颜色并为其添加操作以上是关于如何使用图像和标签制作自定义正确的 UIBarButtonItem?的主要内容,如果未能解决你的问题,请参考以下文章