我有一个应用程序有一个开始按钮(与播放图像)。一旦开始按钮被点击,下一次点击应该像一个暂停按钮(也是按钮图像的改变)。我们怎样才能实现这个功能与图像改变一个用于播放和另一个用相同的按钮暂停?如何创建双功能按钮?
回答
- (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