gpt4 book ai didi

IOS StoryBoard 来自 TableCell 的多个 Segue

转载 作者:IT王子 更新时间:2023-10-29 07:37:31 25 4
gpt4 key购买 nike

您好,我有一个 Storyboard,可以在单击表格单元格时显示详细 View 。我想添加额外的功能,以便根据我单击的单元格显示不同的 View Controller 。我尝试从同一个单元格中拖动两个 segues,但它不允许这样做。

我的想法是,我将从单元格中获得两个 segue,每个指向不同的 View ,然后调用所需的 segue:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

NSInteger row = indexPath.row;
NSLog(@"Selected Item :-) %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:row]]);
if(row %2 ==0){
NSLog(@"Even");
[self performSegueWithIdentifier:@"ShowSecondIndex" sender:self];
}else{
[self performSegueWithIdentifier:@"ShowSelectedMovie" sender:self];
NSLog(@"Odd");

}

}

然后我会在 prepareForSegue 中处理 segue

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{

NSLog(@"Prepare For Segue ID:%@",[segue identifier]);

if([[segue identifier] isEqualToString:@"ShowSelectedMovie"]){
Tab2_ItemViewController *vc = [segue destinationViewController];
NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
NSLog(@"Selected Index: %d",selectedIndex);
[vc setSelectedItem: [NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]];
NSLog(@"String Value: %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]);
[vc setSelectedIndex:selectedIndex];


}else if([[segue identifier] isEqualToString:@"ShowSecondIndex"]){

NSLog(@"Viewing Second Index");
}

}

但是它从不显示第二个 View 。这是因为不可能从单个表格单元格中获得两个 segue。我还尝试将两个 segue 从 Controller 拖到每个目的地,而不是一个从单元格和一个从 Controller 拖动,但仍然没有运气???

最佳答案

在这种情况下,不要尝试将 Segues 连接到 tableviewcell。将它们连接到 View Controller 本身。

关于IOS StoryBoard 来自 TableCell 的多个 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837944/

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