我在Swift中創建了一個秒錶,並且我想將按鈕按下時啓動秒錶的時間圖標更改爲用於條形按鈕的暫停圖標。你怎麼做到這一點?如何在Swift中按下時更改條形按鈕的圖標?
2
A
回答
1
這是我做到了斯威夫特3:
var favoritesBarButtonOn: UIBarButtonItem!
var favoritesBarButtonOFF: UIBarButtonItem!
favoritesBarButtonOn = UIBarButtonItem(image: #imageLiteral(resourceName: "TabBarIconSettingsOff"), style: .plain, target: self, action: #selector(didTapFavoritesBarButtonOn))
favoritesBarButtonOFF = UIBarButtonItem(image: #imageLiteral(resourceName: "TabBarIconSettingsOn"), style: .plain, target: self, action: #selector(didTapFavoritesBarButtonOFF))
self.navigationItem.rightBarButtonItems = [self.rightNavBarButton, self.favoritesBarButtonOn]
func didTapFavoritesBarButtonOn() {
self.navigationItem.setRightBarButtonItems([self.rightNavBarButton, self.favoritesBarButtonOFF], animated: false)
print("Show Favorites")
}
func didTapFavoritesBarButtonOFF() {
self.navigationItem.setRightBarButtonItems([self.rightNavBarButton, self.favoritesBarButtonOn], animated: false)
print("Show All Chat Rooms")
}
4
在運行期間,您不能更改UIBarButtonItem
的樣式。您必須刪除UIBarButtonItem
,然後添加您想要的UIBarButtonItem
。
@IBOutlet weak var toolBar: UIToolbar!
var pauseButton = UIBarButtonItem()
var playButton = UIBarButtonItem()
var arrayOfButtons = [AnyObject]()
override func viewDidLoad() {
super.viewDidLoad()
pauseButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: "pauseButtonTapped")
playButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playButtonTapped")
arrayOfButtons = self.toolBar.items!
arrayOfButtons.insert(playButton, atIndex: 0) // change index to wherever you'd like the button
self.toolBar.setItems(arrayOfButtons, animated: false)
}
func playButtonTapped() {
arrayOfButtons = self.toolBar.items!
arrayOfButtons.removeAtIndex(0) // change index to correspond to where your button is
arrayOfButtons.insert(pauseButton, atIndex: 0)
self.toolBar.setItems(arrayOfButtons, animated: false)
}
func pauseButtonTapped() {
arrayOfButtons = self.toolBar.items!
arrayOfButtons.removeAtIndex(0) // change index to correspond to where your button is
arrayOfButtons.insert(playButton, atIndex: 0)
self.toolBar.setItems(arrayOfButtons, animated: false)
}
0
我相信你已經找到了你的問題的解決方案,但我會在任何人的情況下仍然需要它離開這個。
UIBarButtonItem
不是UIControl
,但是你可以用自定義視圖初始化它,即自定義UIButton
程序如下:
let playButton = UIButton(frame: CGRectMake(0, 0, 30, 30))
playButton.addTarget(self, action: "togglePlay:", forControlEvents: .TouchUpInside)
playButton.setImage(UIImage(named: "play-active"), forState: .Normal)
playButton.setImage(UIImage(named: "play-inactive"), forState: .Selected)
let rightButton = UIBarButtonItem(customView: playButton)
self.navigationItem.setRightBarButtonItems([rightButton], animated: true)
相關問題
- 1. 按下按鈕B時如何更改按鈕A的標題?
- 2. 如何在按下按鈕時更新D3.js中的圖形?
- 3. 如何更改按鈕圖像時,按下按鈕
- 4. 按下按鈕時動態更改標籤 - iOS Swift
- 5. Android-如何在按下按鈕時更改按鈕的文字?
- 6. 當按下按鈕時更改視圖
- 7. 按下按鈕時更改UIButton圖像
- 8. CodenameOne按下按鈕時更改按鈕
- 9. 如何按下按鈕時顯示條形圖(jqplot)?
- 10. 按下按鈕時更改按鈕的圖像,使用javascript
- 11. 如何在按下GridView中的按鈕時更改黃色方形背景?
- 12. Windows Phone:如何在按下按鈕時更改按鈕圖像? (WP; C#)
- 13. 如何通過在PySide中按下按鈕來更改標籤
- 14. 如何在TableView中更改按鈕的標題(Swift)
- 15. 的Android如何更改圖標,按鈕
- 16. 如何更改JQuery按鈕的圖標
- 17. 如何更改jQuery的按鈕圖標
- 18. 如何在angularJS中按下按鈕時更改變量?
- 19. 我如何更改控件在xaml中按下按鈕時
- 20. Android - 如何更改按鈕編程時按下背景圖片?
- 21. 按下按鈕時如何更改圖像?
- 22. 按下時更改按鈕的位置
- 23. 更改ImageView的同時,按下按鈕
- 24. 更改按鈕按下時的元素?
- 25. 按鈕每次按下更改標題
- 26. 如何在按下按鈕時改變按鈕的顏色
- 27. 當按下按鈕時如何更改自定義按鈕圖像
- 28. jQueryUI的按鈕:如何更改按鈕圖標「色」
- 29. 如何更改點擊按鈕圖標?
- 30. 當我按下按鈕時,如何更改JTextArea中的文本?