我有一個應用程序有一個開始按鈕(與播放圖像)。一旦開始按鈕被點擊,下一次點擊應該像一個暫停按鈕(也是按鈕圖像的改變)。我們怎樣才能實現這個功能與圖像改變一個用於播放和另一個用相同的按鈕暫停?如何創建雙功能按鈕?
回答
- (IBAction)buttonClicked:(id)sender
{
UIButton *button = (UIButton *)sender;
[button setImage:pauseImage forState:state];
//Do things
}
sory。我的問題是我們如何實現這個功能與圖像改變一個玩和另一個用同一個按鈕暫停? – sarath 2011-03-16 12:20:19
將布爾值保持爲global.Set將其設置爲開始時的一個,將其設置爲零時點擊按鈕等等。每次點擊按鈕時,檢查布爾是否設置。如果設置按鈕打開,並把圖像爲打開,反之亦然 – humblePilgrim 2011-03-16 12:26:49
試試這個
-(void)playClicked:(id)sender{
UIButton *tappedButton = (UIButton*)sender;
if([tappedButton.currentImage isEqual:[UIImage imageNamed:@"play.png"]]) {
[sender setImage:[UIImage imageNamed: @"pause.png"] forState:UIControlStateNormal];
}
else {
[sender setImage:[UIImage imageNamed:@"play.png"]forState:UIControlStateNormal];
}
}
所有最優秀的。
很好回答...謝謝你 – sarath 2011-03-16 12:35:10
只是出於好奇,不會檢查平等像兩幅圖像之間的CPU會很重?它比較某種散列或他們的路徑或什麼? – 2011-03-16 12:39:50
我會在點擊方法中有一個布爾值,如果它已經播放或不播放,它將保持跟蹤。如果不是正在播放,請將其啓動並將圖像設置爲暫停圖像,如果正在播放,則再次按下該按鈕即可執行所需操作,即暫停和更改圖像。
這個循環會在點擊方法:
if(playing) {
//if the button is pressed and its already playing, pause or do whatever here
[button setImage:startImage forState:normal];
playing = NO;
} else {
[button setImage:pauseImage forState:normal];
playing = YES;
}
這是怎麼我會處理這件事
在你的viewController定義中定義布爾
BOOL playing;
然後在按鈕您應該採取類似行動
-(IBAction)playPauseButtonClicked:(id)sender
{
if (playing)
{
[self pauseButtonClicked];
}
else
{
[self playButtonClicked];
}
UIButton *theButton = (UIButton *)sender;
playing = !playing;
[theButton setImage:playing ? @"pauseImage.png":@"playImage.png" forState:UIControlStateNormal];
}
-(void)pauseButtonClicked
{
// Handle pausing
}
-(void)playButtonClicked
{
// Handle starting to play
}
全球BOOL沒有必要。只需設置圖像爲UIControlStateSelected
(即播放),另一個是UIControlStateNormal
(即暫停),並在你的操作方法:
-(IBAction)buttonAction:(id)sender{
if ([sender isKindOfClass:[UIButton class]])
{
UIButton *button = sender;
button.selected = !button.selected;
if (button.selected)
// Play
else //Pause
}
好的。正是我想到的。你擊敗了我。 :) – visakh7 2011-03-16 12:42:04
不錯,但個人而言,我不喜歡直接依靠用戶界面/視圖對象的屬性來弄清楚程序的狀態。如果我不想將狀態保存在一個變量中,我會使用a @ bool @property並檢查getter中的「selected」屬性按鈕,以便能夠輕鬆地更改條件,因爲我很容易看到OP的應用程序取決於播放/不播放狀態在其他地方的程序以及... – 2011-03-16 12:53:32
Here is my code. Have a look.
@IBAction func playAndPauseButtonClicked(sender: AnyObject) {
let skView = self.view as! SKView
skView.scene!.paused = true
if (playAndPauseButton.currentImage == UIImage(named: "play.png"))
{
playAndPauseButton.setImage(UIImage(named: "pause.png"), forState: UIControlState.Normal)
}
else
{
playAndPauseButton.setImage(UIImage(named: "play.png"), forState: UIControlState.Normal)
skView.scene!.paused = false
}
}
Note: I used this in a sample game where I have button which pause and play the game scene.
- 1. 功能來創建按鈕
- 2. 創建按鈕的按鍵功能
- 3. 點擊功能動態創建按鈕
- 4. 創建執行功能的按鈕
- 5. NativeScript TAB按鈕雙功能鍵
- 6. 如何使用下拉菜單創建Sitecore功能區按鈕?
- 7. 如何在Java/Android中創建單獨的按鈕功能?
- 8. 如何創建激活jQuery/js功能的圖像按鈕
- 9. 如何管理每行的動態創建按鈕的功能?
- 10. 如何在Android中創建瀏覽文件按鈕功能
- 11. 如何創建一個按鈕做一些功能xpce/Prolog的
- 12. SP2010:如何在功能區中創建新按鈕
- 13. 創建我自己的雙擊功能
- 14. 如何創建按鈕?
- 15. 如何創建AppleTV按鈕?
- 16. 按鈕功能
- 17. Word加載項不能在功能區中創建按鈕
- 18. 這是不可能循環.click功能(創建多個按鈕)
- 19. 創建一個能夠檢查按鈕標題的功能
- 20. CSS /網頁設計:如何創建一個斜/雙面按鈕
- 21. 如何爲按鈕創建自定義雙擊事件
- 22. 如何創建'onclick'功能?
- 23. 創建一個按鈕,創建按鈕
- 24. 創作的Java雙功能和功能
- 25. 如果按鈕功能 - wordpress
- 26. 如何創建分隔的Office功能區按鈕,如文本填充
- 27. Tkinter從列表創建按鈕,每個按鈕都有其自己的功能
- 28. 以編程方式創建SharePoint 2010功能區按鈕(不含功能XML)
- 29. 與功能/按鈕
- 30. Gridview按鈕功能
你有問題嗎? – 2011-03-16 12:15:27