gpt4 book ai didi

iphone - objective-c - tableview 内的按钮防止表格滚动

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:41 24 4
gpt4 key购买 nike

我有一个每行有两个按钮的 tableView,用户当然可以滚动查看更多行,或者可以点击按钮查看项目详细信息。

问题:

当用户向上或向下滑动手指时,表格滚动良好,但当用户将手指按住按钮超过一秒钟然后向上或向下移动手指时,表格不会滚动。我不想要这种行为,我希望 tableview 获得第一优先权,这样它就会滚动并且不会触发按钮事件。

如何防止这种情况发生?设置按钮目标的代码是这样的:

[cell.buttonLeft addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

最佳答案

使用 UITapGestureRecognizer 而不是使用 addTarget:

例子:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(aMethod:)];
[button addGestureRecognizer:tapGestureRecognizer];
[button setTitle:@"Show View" forState:UIControlStateNormal];

button.frame = CGRectMake(0, 0, 160.0, 40.0);
[cell.contentView addSubview:button];


-(void)aMethod:(UITapGestureRecognizer * )sender{

if(sender.state == UIGestureRecognizerStateEnded)
{
NSLog(@"triggered");
}
}

关于iphone - objective-c - tableview 内的按钮防止表格滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15665949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com