我是Objective-C的新程序员。
我在我的应用中使用了故事板。它包含UITableViewController。
当我点击它是使用segue的单元格转到下一个视图控制器。但我想使用-(void)onLongPress:(UILongPressGestureRecognizer*)
pGesture并使用相同的单元格显示另一个ViewController。
我的TableView显示公司。我想根据单元格LongClick显示公司详细信息。
答案 0 :(得分:1)
您需要创建一个UILongPressGestureRecognizer。
然后,您需要将其附加到您希望识别longPress的视图。 附加它时,您可以定义一个动作选择器和一个目标。动作选择器是一种在识别手势时将在目标中触发的方法。
假设您在tableViewController中创建了手势识别器,并且也是目标,那么它看起来就像这样
UILongPressGestureRecognizer* longPGR =
[[UILongPressGestureRecognizer alloc] initWithTarget:self
action:@selector(onLongPress:)];
[self.relevantViewInTableViewCell addGestureRecognizer:longPGR];
然后你创建一个拦截水龙头的动作方法
-(void)onLongPress:(UILongPressGestureRecognizer*)pGesture
{
//statement
}
如果要使用动态单元格创建表格,则应在创建单元格时创建longPGR。
如果您有静态单元格,可以将IBOutlet @properties连接到相关单元格,并在longPGR创建中使用该属性。
要显示另一个viewController,不必使用segue。您可以在longPress方法中将新的viewController推送到NavigationController的堆栈:
[self.navigationController pushViewController:newViewController];
这与使用segue具有相同的效果。