ios - 完成模态视图后重新加载 UICollectionView

标签 ios objective-c uicollectionview presentmodalviewcontroller viewwillappear

我有一个 UICollectionView。当用户点击一个项目时,一个模态表单窗口会出现在 View 上方。当用户点击完成时,我想调用 [self.collectionView reloadData],或执行等效的操作。但是,viewWillAppear 不适用于表单。知道如何让它发挥作用吗?

最佳答案

最好的方法是实现方法

-(void) closeModalView {
    [self dismissViewControllerAnimated:YES completion:nil];
}

在你的 UICollectionView 中。此方法最好在协议(protocol)中声明您的 UICollectionView 应确认:

@protocol YourModalViewDelegate <NSObject>;

    @required
    -(void) closeModalView;

@end

当你想关闭自身时,在模态视图中调用这个方法:

[delegate closeModalView];

其中 delegate 是模态视图中的一个属性:

@property (strong, nonatomic) id <YourModalViewDelegate> delegate;

可以通过以下方式在 UICollectionView 中设置此属性:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"segueToModalViewIdentifier"]) {
        YourModalViewClass *yourModalView = (YourModalViewClass *)[segue destinationViewController];
        [yourModalView setDelegate:self];
}

关于ios - 完成模态视图后重新加载 UICollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21790070/

相关文章:

iphone - tableview 单元格中的文本标签在刷新后不会调整大小

iphone - 无法将应用程序包转换为 NSData

ios - 将 NSString 解析为 NSDate

ios - 当单元格高度减小到零时,表格单元格中的日期选择器会压缩

ios - UICollectionView:不同大小的项目不计算重复使用的项目

ios - 在静态 TableView 单元格中实现照片库

ios - CMTimeMakeWithSeconds 中的首选时间刻度

ios - 如何在 Objective-C 中创建新对象并分配属性?

objective-c - 当 iphone 中有来电和去电时,我们可以触发事件吗?

ios - 无法设置 UICollectionView 的动态初始内容