2017-05-14 4 views
0

ボタンの間にnavigationBar rightBarButtonItemsの右側にパディングを追加しようとしていますが、現在は機能しています。ここでBarButtonItem EdgeInsetsが機能しません

は、与えられたインセットとボタンの作成コードです:

lazy var previewBarButtonItem: UIBarButtonItem = { 
    let buttonItem = UIBarButtonItem(title: "Preview", style: .plain, target: self, action: #selector(handlePreview)) 
    buttonItem.tintColor = UIColor.black 
    buttonItem.setTitleTextAttributes([NSFontAttributeName: UIFont.systemFont(ofSize: 14)], for: .normal) 
    buttonItem.imageInsets = UIEdgeInsetsMake(0, -15, 0, 15) 
    return buttonItem 
}() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    setupRightNavItems() 
} 

fileprivate func setupRightNavItems() { 
    navigationItem.rightBarButtonItems = [submitBarButtonItem, previewBarButtonItem] 
} 

あなたは、これが機能しない理由にヒントを与えることはできますか?

私は次のようにジャストイン間のバーボタンアイテムfixedSpaceを追加して、この問題を修正するために管理のおかげ

答えて

0

:)

1は、任意のEdgeInsets 2を削除)次の固定スペースを追加します。

fileprivate func setupRightNavItems() { 
    let spacing = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil) 
    spacing.width = 25 //change to your desired space width 
    navigationItem.rightBarButtonItems = [submitBarButtonItem, spacing, previewBarButtonItem] 
} 
関連する問題