按钮在ios中触摸状态

时间:2015-04-08 05:56:26

标签: javascript ios uibutton

我想知道按下按钮的状态,当用户从按钮中取出手指时,就像在JavaScript中有事件OnKeyDown并显示警告onKeyup在iOS中显示另一个警告我寻找像JavaScript这样的东西我发现touchupInside( ONkeyDown)touchupOutside(OnkeyUp)但我不能记录按钮启动时的任何事情(意味着用户从按钮中移除他/她的fingure)这是可能的ios我看起来像这样的东西

UIButton *button = (UIButton *)sender;
button.selected = ![button isSelected]; // Important line
if (button.selected)
{
    NSLog(@"Selected");
    NSLog(@"%i",button.tag);
}
else
{
    NSLog(@"Un Selected");
    NSLog(@"%i",button.tag);

}

2 个答案:

答案 0 :(得分:0)

我认为只要为需要OnKeyDown事件点击按钮,就需要不同的控制事件UIControlEventTouchDown事件,并且onKeyup你需要使用UIControlEventTouchUpInside按钮的这两个事件你可以得到你想要的例子

- (void)viewDidLoad 
 {
  [super viewDidLoad];
  UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
  [button setFrame:CGRectMake(0, 100, 150, 100)];
  [button setTitle:@"Touch" forState:UIControlStateNormal];
  [button addTarget:self action:@selector(onKeyupEvent:) forControlEvents:UIControlEventTouchUpInside];
  [button addTarget:self action:@selector(onKeyDownEvent:) forControlEvents:UIControlEventTouchDown];
  [self.view addSubview:button];
 }

 - (void)onKeyupEvent:(id)sender
{
   NSLog(@"key up event");
}

- (void)onKeyDownEvent:(id)sender
{
   NSLog(@"key down event");
}

答案 1 :(得分:0)

您可以使用多种活动,并且您可以通过Google搜索UIControl Class Reference找到整个列表。请查看control events部分中的constant

此外,您可以通过执行以下操作来触发这些事件:

[button addTarget:self action:@selector(ButtonEvent:) forControlEvents:UIControlEventTouchUpInside];

然后添加以下方法:

-(IBAction)ButtonEvent:(id)sender {
    // do something...
}