iphone - 按下按钮时执行操作

时间:2011-05-31 06:03:30

标签: iphone objective-c button

比如说我有两个音量按钮(+和 - )

如何实现诸如按住+按钮之类的东西,它会以一定间隔递增地增加音量? (我只对在按下按钮时按间隔动作感兴趣)

3 个答案:

答案 0 :(得分:4)

您可以使用计时器。触摸开始时启动计时器。如果计时器到期,请增大或减小音量并重新启动计时器。触摸结束时,取消定时器。

答案 1 :(得分:1)

假设您有两个按钮,其中一个用于+,

您可以将间隔信息存储在按钮的标记字段中

在按钮标记属性中安装间隔值。

myPulseButton.tag = 10;
myMinusButton.tag = 10;

使用按钮添加操作。

[myPulseButton addTarget:self action:@selector(buttonEvent:) forControlEvents:UIControlEventTouchUpInside]; 

[myMinusButton addTarget:self action:@selector(buttonEvent:) forControlEvents:UIControlEventTouchUpInside];

实现如下的buttonEvent方法。

-(void) buttonEvent:(id) sender
{
    UIButton* myButton = (UIButton*) sender;
    if(myButton == myPulseButton)
    {
      [self increaseVolume:myPulseButton.tag];
    }
    else if(myButton == myMinusButton)
    { 
      [self decreaseVolume:myMinusButton.tag];
    }
}

答案 2 :(得分:0)

首先添加按钮......

 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button addTarget:self  action:@selector(increase)forControlEvents:UIControlEventTouchDown];
    [button setTitle:@"Show View" forState:UIControlStateNormal];
    button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
    [view addSubview:button];

然后写按钮按下的方法。

-(void)increase
{
//increase the volume here
}

如果不是您想要的解决方案,则意味着添加评论......