我是iPhone新手。
我想在按钮上添加长按手势和点击事件,这可能吗?
当我将两个事件添加到按钮然后长按时,我的点击事件被触发(点击我导航到新页面),但我的长按事件永远不会被解雇。
这是我的代码段:
button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(xpos, ypos, 120,130);
[button setBackgroundImage:[UIImage imageNamed:@"ibook2.png"] forState:UIControlStateNormal];
[button setTitle:[NSString stringWithFormat:@"32"]];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchDown];
LongPress = [[UILongPressGestureRecognizer alloc] init];
[LongPress addTarget:self action:@selector(longPressDetected:)];
LongPress.delegate = (id<UIGestureRecognizerDelegate>)self;
[button addGestureRecognizer:LongPress];
[LongPress release];
[self.view addSubview:button];
如何添加这两个事件?
我们将不胜感激。
答案 0 :(得分:7)
按如下方式更改行
[button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
如果您使用触地事件,只要您触摸按钮,就会触发点击事件。 TouchupInside在触摸时触发动作。
获得头衔,
- (void)longPressDetected:(UIGestureRecognizer *)gestureRecognizer
{
UIButton *button = (UIButton *)[gestureRecognizer view];
NSLog(@"%@",[button titleForState:UIControlStateNormal]);
}