2014-01-19 43 views
1

我的設置是這樣的:UICollectionViewController嵌入UIContainerView - 如何將數據傳遞給父項?

我有一個UIViewController與它包括一個UIContainerView頂部不同的充元素。該容器內嵌有UICollectionView和9 UICollectionViewCell。所有這些單元格上都有一個UILabel。單元格都是可選的。所以我基本上做的是創建一個多選元素。我的問題是,如何將選定的單元格(最好與NSArray一起使用所有選定元素的字符串)傳遞給父級,即UIViewController

我做了什麼至今在頂部UIViewController創建IBOutlet到容器:

@property (weak, nonatomic) IBOutlet MultiSelectionContainerView *multiSelectionCV; 

我希望能夠存取權限選定單元格像這樣的數組:

NSArray* selectedCells = [_multiSelectionCV getSelection]; 

我該如何做到最好?

回答

2

我假設你MultiSelectionContainerView中有一個UICollectionView燼,在你MultiSelectionContainerView

- (NSArray *)getSelection{ 
    NSMutableArray *selectedItems = [[NSMutableArray alloc] init]; 
    for (NSIndexPath *indexPath in [self.collectionView indexPathsForSelectedItems]){ 
     YourCollectionViewCell *cell = [self.collectionView cellForItemAtIndexPath:indexPath]; 
     [selectedItems addObject:cell.label.text]; 
    } 
    return selectedItems; 
} 

編輯:

你要通過這些層逐級一樣UIViewController持有MultiSelectionContainerView財產,MultiSelectionContainerView持有MultiSelectionViewController,並且您在MultiSelectionViewController中實現我的答案,然後您可以通過

[self. multiSelectionCV.multiSelectionVC getSelection] 
+0

如何從覆蓋的'UIContainerView'訪問'UIViewController'?感謝您的回答! –

+0

這個關係是'UIViewController'->'MultiSelectionContainerView'->'UIContainerView'嗎?我以爲你想訪問頂級ViewController中的容器視圖。 – johnMa

+0

關係是'UIViewController' - >'UIView' - >'MultiSelectionContainerView' - >'MultiSelectionViewController' - >'MultiSelectionView' - >'MultiSelectionCell'。我可以通過上面的插座訪問'MultiSelectionContainerView',但我很難想出如何訪問下一層,'MultiSelectionViewController' –

相關問題