在我的应用程序中,我在uiscrollview中添加uibutton作为子视图。我想在长按时获得按钮的标签。我的代码是
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(handleLongPress:)];
longPress.minimumPressDuration = 2.0;
longPress.delegate = self;
[gridScrollView addGestureRecognizer:longPress];
我想知道如何在此代码中获取特定的按钮标记
-(void)handleLongPress:(UILongPressGestureRecognizer *)gestureRecognizer {
}
答案 0 :(得分:0)
您将获得子视图属性
中的所有按钮for (UIButton *eachBtn in [gridScrollView subviews]) {
if ([eachBtn isKindOfClass:[UIButton class]]) {
NSLog(@"Button Tag : %i",eachBtn.tag);
}
}
如果您想传递按钮的标签,请将相同的标签设置为手势
longPress.view.tag = btn.tag
之后在你的长按处理程序方法中取这个标记
NSLog(@"Button Tag : %i",longPress.view.tag);
答案 1 :(得分:0)
如果你没有跟踪添加到滚动视图的所有按钮(例如通过将它们添加到数组中),只需枚举滚动视图的所有子视图,检查当前子视图是否为{{1}并获得UIButton
subview.tag
或者,如果您知道该标记,请使用for (UIView *subview in scrollView.subviews) {
if ([subview isKindOfClass:[UIButton class]]) {
// subview.tag …
}
}