Sha*_*man 5 objective-c storyboard ios segue uicollectionview
我有一个由许多单元格组成的UICollectionView.我希望能够点击其中一个单元格,并在确定这是适当的操作后让我的故事板转向另一个视图控制器.
我在Storyboard中创建了我的辅助视图控制器以及segue.在我的UICollectionView子类中,我实现了以下...
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return NO; // So that I can determine whether or not to perform the segue based on app logic
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
// Selection logic here
[self performSegueWithIdentifier:@"showDetailView" sender:self];
}
Run Code Online (Sandbox Code Playgroud)
在这个类中,我还实现了 - (void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender,允许我在执行segue之前设置我的详细视图.它看起来像这样:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"HELLO, WORLD!!!");
}
Run Code Online (Sandbox Code Playgroud)
一切似乎都井井有条,但我发现prepareForSegue
永远不会被召唤.我已经尝试过记录,设置断点.没有迹象表明这种方法被称为EVER.我在这里错过了什么?为什么不调用此方法?虽然它现在有一个简单的"Hello,World"语句,但我之前有我的详细视图所依赖的代码,它会导致异常,因为详细视图设置不正确.
还有什么我在这里不见了吗?我应该做的事情,我现在不是吗?
你告诉iOS永远不要与此相悖:
-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender {
return NO; // So that I can determine whether or not to perform the segue based on app logic
}
Run Code Online (Sandbox Code Playgroud)
将NO改为YES,它应该有效.或者在里面添加逻辑,当你想要segue时至少返回YES.
归档时间: |
|
查看次数: |
3930 次 |
最近记录: |