iphone开发中,tableviewcell用segue push一个页面,怎样实现当我点击第一行时,不跳转而是执行其他操作?
3个回答
展开全部
重写这个方法即可 :
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{}即可以实现对应的跳转,调用[self.navigationController pushViewController:ViewController animated:YES];这个方法就行
如果你想用segue来实现的话:这样试试
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
这个sender是事件源,UITableViewCell *cell=(id)sender;
if([cell reuseIdentifier]==@"first")
....
需要在cellForRowAtIndexPath:将首个cell的CellIdentifier独立设置,之后再去判断下是否是第一个cell即可 。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{}即可以实现对应的跳转,调用[self.navigationController pushViewController:ViewController animated:YES];这个方法就行
如果你想用segue来实现的话:这样试试
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
这个sender是事件源,UITableViewCell *cell=(id)sender;
if([cell reuseIdentifier]==@"first")
....
需要在cellForRowAtIndexPath:将首个cell的CellIdentifier独立设置,之后再去判断下是否是第一个cell即可 。
展开全部
tableView有一个委托方法,叫willXXXXXXX是当你点击一行时首先调用的方法。你可以在这个方法中写上你想要执行的代码然后判断点击的是哪一行,如果是第一行就返回一个特殊值,这样就不会跳转了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSString *rowString = [self.listobjectAtIndex:[indexPath row]];
UIAlertView * alter = [[UIAlertViewalloc] initWithTitle:@"选中的行信息" message:rowString delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil, nil];
[alter show];
}
不跳转。只是弹出信息。
NSString *rowString = [self.listobjectAtIndex:[indexPath row]];
UIAlertView * alter = [[UIAlertViewalloc] initWithTitle:@"选中的行信息" message:rowString delegate:selfcancelButtonTitle:@"确定"otherButtonTitles:nil, nil];
[alter show];
}
不跳转。只是弹出信息。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询