我self.navigationItem.rightBarButtonItems
用来设置我的导航栏项目。但是,对于条形按钮,我使用的是自定义视图(按钮)。我观察到按钮之间有间距。我怎样才能删除这个?
问问题
5210 次
4 回答
13
我知道为时已晚,但我使用以下使用方法解决了UIBarButtonItem
它
[barbuttonitem setImageInsets:UIEdgeInsetsMake(0, -30, 0, -70)];
于 2014-08-11T12:09:14.257 回答
4
我通过使用 storybord 界面解决了这个问题。我知道你正在使用自定义栏,但是这个答案对那些使用 stroybord 的人很有用。
1.选择Bar item
.
2.选择Size Inspector
.
在这里您可以找到图片 Inset,使用top
, bottom
AND left
,right
您可以更改 Bar Item 的位置。
于 2015-12-06T10:27:37.597 回答
3
你不能删除它。您可以通过创建带有自定义视图的条形按钮项来解决此问题,在该自定义视图中,您可以将自定义按钮全部添加为子视图。这样就可以直接控制精确定位。
于 2013-07-04T16:53:34.707 回答
2
这是一个如何解决此问题的示例:
创建 UIBarButton 的扩展
extension UIBarButtonItem
{
/** Create custom right bar button for reduce space between right bar buttons */
func initRightButton(let imageNamed:String, let target:UIViewController, let selector:Selector) -> UIBarButtonItem {
let frame = CGRectMake(0, 0, 30, 30)
//Create imageView
let imageView = UIImageView(frame:frame)
imageView.image = UIImage(named: imageNamed)
//Create Button
let button = UIButton(frame: frame)
button.addTarget(target, action: selector, forControlEvents: .TouchUpInside)
//Create View and add imageView and Button
let view = UIView(frame: frame)
view.addSubview(imageView)
view.addSubview(button)
return UIBarButtonItem(customView: view)
}
}
在您的类控制器中使用方法 customizeNavigationBar
func customizeNavigationBar() {
//Create custom right bar button chat for reduce space between right bar buttons
let barButton1 = UIBarButtonItem().initRightButton("customImageNamed1", target: self, selector: customSelector)
let barButton2 = UIBarButtonItem().initRightButton("customImageNamed2", target: self, selector: customSelector)
self.navigationItem.rightBarButtonItems = [barButton1,barButton2]
}
于 2016-08-16T15:30:34.507 回答