我有一個UICollectionView。當用戶點擊某個項目時,該視圖上會出現一個模式表單窗口。當用戶點擊完成後,我想打電話給[self.collectionView reloadData]
,或者做相同的事情。但是,viewWillAppear
不適用於表單。任何想法如何讓這個工作?當用模態視圖完成時重新加載UICollectionView
1
A
回答
0
有人在蘋果開發論壇幫助我。作爲參考: 把它放在CollectionView控制器中。 (IBAction)formSheetWindowDoneButtonPressed:(UIStoryboardSegue *)sender {self.collectionView reloadData]; }
您可以更改方法的名稱,但保留簽名的其餘部分相同。現在,在故事板中,控制+從完成按鈕拖動到視圖控制器的退出隊列。這是視圖底部的綠色方框,箭頭指向右側。當你放開拖拽時,你應該看到formSheetWindowDoneButtonPressed:作爲一個選項。選擇一個,你現在已經適當地鏈接了你的Exit Segue。當他們按完成時,上面的方法被調用並且你的集合視圖被重新加載。
0
您應該在提供新模態視圖控制器的控制器上創建一個協議。然後,您可以在第二個視圖控制器中按完成按鈕時調用該方法。你可以找到一個如何在Xcode的Utility Application模板中創建這樣的協議的工作示例。你可以在Apple's programming guides找到更多的信息。
1
做到這一點,最好的辦法是實現方法
-(void) closeModalView {
[self dismissViewControllerAnimated:YES completion:nil];
}
在UICollectionView
。這種方法是更好的協議,您UICollectionView應確認到申報:當你想關閉自己
@protocol YourModalViewDelegate <NSObject>;
@required
-(void) closeModalView;
@end
調用此方法模式的看法:
[delegate closeModalView];
,其中委託是一個屬性模式視圖:
@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];
}
相關問題
- 1. 重新加載子視圖(UICollectionview)
- 2. 視圖中的函數完成時重新加載局部視圖?
- 3. 如何完全重新加載視圖?
- 4. UICollectionView - 當加載完成時得到一個回調?
- 5. 重新加載noOfRowsInSection當表視圖重新加載,xcode
- 6. WPF MVVM:視圖模型更改時不重新加載視圖
- 7. IOS重新加載視圖一次方法完成
- 8. 當活動完成時重新加載片段
- 9. UICollectionView:不要重新加載補充視圖
- 10. 無法重新加載UICollectionView的補充視圖(標題)與invalidationContext
- 11. 當UIProgressView已滿時加載新視圖
- 12. UICollectionView用動畫重新加載部分
- 13. 卸載UICollectionView並重新加載?
- 14. 從模態顯示的彈窗視圖中重新加載UIWebView
- 15. 重新加載視圖
- 16. 重新加載視圖?
- 17. 重新加載視圖iPhone
- 18. 重新加載Eclipse視圖
- 19. 獲取當前視圖。稍後重新加載視圖
- 20. 當UITableView完全重新加載
- 21. 當視圖重新加載時設置UICollectionViewCell的selectedBackgroundView
- 22. 無法加載視圖狀態。成視圖狀態被裝載
- 23. 重新加載時保留視圖狀態
- 24. 完成,重新加載活動
- 25. Xcode重新加載完成UITableViewController
- 26. 完成後AJAX重新加載div
- 27. 當AJAX完成時重新填充div
- 28. 模式視圖解除後重新加載表視圖
- 29. 重新加載視圖時UIButtons變灰(iOS 7.1模擬器)
- 30. 從UICollectionView中刪除項目後更新/重新加載收藏視圖
謝謝,但是當我點擊完成按鈕時,模式視圖不會關閉。 – user1941966
你在使用'navigationController'嗎?如果是的話,你可以嘗試'[self.navigationController dismissViewControllerAnimated:YES completion:nil];' – nvl
我正在使用navigationController,但這樣做並沒有改變。 – user1941966