私のコントローラのviewDidLayoutSubviews
部分にscrollToItemAtIndexPath
を使用して、ユーザーを特定のセルにスクロールさせることができます。彼らはcellForItemAtIndexPath
Collectionview Cell DelegateメソッドがscrollToItemAtIndexPathで呼び出されていませんか?
の一部としてロードされたときに
私の細胞が自分のparamsのためのネットワーク呼び出しを行うことになっている問題がcellForItemAtIndexPath
にprint文を置くことは、呼び出されないです表示されていることでしょうか?ここでの紛争の原因とその解決策は何ですか?コードは次のようになります。
- (void)viewDidLayoutSubviews {
CDCChannelCollectionView *scrollView;
if (self.view == [self mixMonitorView]) {
scrollView = [[self mixMonitorView] scrollView];
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:0 inSection: self.selectedChanIndex];
[scrollView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
}
}
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
CDCChannelStrip *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
if (self.view == self.mixMonitorView) {
NSInteger chanInt = indexPath.section;
NSNumber *chanNum = [NSNumber numberWithInteger:chanInt];
NSNumber *chanNameNumber = [NSNumber numberWithInteger:chanInt + 1];
NSString *chanName = [NSString stringWithFormat:@"CH %@", chanNameNumber];
cell.channelNumber = chanInt;
cell.channelName.text = chanName;
[self getParameters:(chanNum)];
[self.mixMonitorView setChannelsStripToType:(cell)];
cell.clipsToBounds = YES;
return cell;
}
}
選択したインデックスにスクロールする必要がありますか? – CodeChanger
はいスクロールが問題ではなく、正常に動作します。 – jcad
はいbcusは間違った呼び出しをしています。このようにすると 'NSIndexPath * indexPath = [NSIndexPath indexPathForItem:self.selectedChanIndex inSection:0 ]; ' – CodeChanger