2017-10-26 6 views
0

iOS 11から、UIBarButtonSystemItem.flexibleSpaceが機能しません。UIBarButtonItem flexibleSpaceが機能しない

私のソースコード:

let backupBtn = UIBarButtonItem(image: UIImage(named: "itemRate.png"), 
            style: UIBarButtonItemStyle.plain, 
            target: self, 
            action: #selector(goToBackup)) 

let sortBtn = UIBarButtonItem(image: UIImage(named: "itemSize.png"), 
            style: UIBarButtonItemStyle.plain, 
            target: self, 
            action: #selector(changeSort)) 

let sizeBtn = UIBarButtonItem(image: UIImage(named: "itemSize.png"), 
            style: UIBarButtonItemStyle.plain, 
            target: self, 
            action: #selector(changeSize)) 

let space = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace, 
           target: nil, 
           action: nil) 

self.navigationItem.setRightBarButtonItems([sizeBtn, space, sortBtn, space, backupBtn], animated: true) 

私が使用している場合それは問題ではありません:

  • self.navigationItem.setRightBarButtonItems

ボタンが表示されself.navigationItem.setLeftBarButtonItemsを左側または右側にがありますが、常にゲッター!!!

答えて

0

ラメ解決!あなたが望むよう

あなたは、左側または右側にこのソリューションを使用することができます。

let space = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.fixedSpace, target: nil, action: nil) 

space.width = (self.view.frame.size.width/2) - (40*UIScreen.main.scale) 

self.navigationItem.leftBarButtonItem = backupBtn 

self.navigationItem.rightBarButtonItems = [sortBtn, space, sizeBtn] 

は恐ろしい、私は知っています!

関連する問題