2017-06-15 5 views
0

うまくいけば、これは簡単な質問です。私はUIBarButtonItemのUIViewを取得しようとしています。次StackOverflow questionを見て、私は次のコードを思い付いた:SwiftでUIBarButtonItemのビューを取得

let notificationButton = UIBarButtonItem(image: UIImage(named: "icon_notification.png"), style: .plain, target: self, action: nil) 

let notificationView = notificationButton.value(forKey: "view") as? UIView 

しかし、notificationViewがnilです。だから、私はリンクされたStackOverflowの質問から解釈しなかったものについての考えですか?

+0

なぜそれが必要ですか? – NRitH

+0

NRitH:イメージを修正してバッジを追加したい –

+0

navigationItemにnotificationButtonを追加しましたか? –

答えて

0

だから、DSダルマは私に働きかけたアイデアをくれました。

addBadge()関数は、UIViewのを必要とする
self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "icon_notification.png"), style: .plain, target: self, action: nil) 

self.navigationItem.rightBarButtonItem?.addBadge(number: 0, withOffset: CGPoint(x: 7.0, y: 0.0) , andColor: UIColor.black, andFilled: true) 

:それはこのようなツールバーのナビゲーション項目に割り当てられた後、「ビュー」の値にのみ使用可能です。ところで、もし誰かが不思議に思うのであれば、この投稿からaddBadge関数を取った:http://www.stefanovettor.com/2016/04/30/adding-badge-uibarbuttonitem

この機能が必要な場合に強くお勧めします。

+0

残念ながら、複数のバー項目がある場合、残念ながらこれは機能しません。例えばself.navigationItem.rightBarButtomItems.append(barBtn) – azm882

関連する問題