self.navigationItem.rightBarButtonItems
ナビゲーションバーのアイテムをセットアップするために使用しています。ただし、バー ボタンについては、カスタム ビュー (ボタン) を使用しています。ボタン間に間隔があることがわかります。どうすればこれを削除できますか?
5210 次
4 に答える
13
遅すぎることはわかっていますが、次の使用方法をUIBarButtonItem
使用して解決しました
[barbuttonitem setImageInsets:UIEdgeInsetsMake(0, -30, 0, -70)];
于 2014-08-11T12:09:14.257 に答える
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 に答える