저는 UISplitView
과 같은 디자인입니다 (실제로는 UISplitView
이 아니고, View container
을 사용하여 모방했습니다).초기 UICollectionView 페이지는 첫 번째 페이지 대신 두 번째 페이지입니다
왼쪽 컨테이너는 table view
이고 오른쪽 컨테이너는 collection view
입니다.
왼쪽 컨테이너에서 tableview cell
을 클릭하면 오른쪽 collection view
이 변경됩니다.
collection view
에는 페이지가 두 개인 페이지가 항상 있습니다.
나는 collection view
의 두 번째 페이지로 이동 지금은 왼쪽 컨테이너에 새로운 table view cell
을 클릭하면 오른쪽 컨테이너에서 올바른 collection view
를로드하지만 대신 첫 페이지의 두 번째 페이지입니다!
나는 주위를 둘러 보는데 해결책을 찾지 못했습니다.
모든 조언을 주셔서 감사합니다.
업데이트 : 관련 코드 추가.
다음 코드는 right container
에 있습니다.
- (void)viewDidLoad
{
[super viewDidLoad];
[self setup];
self.collectionView.delegate = self;
self.pageControl.currentPage = 0;
[self.collectionView scrollRectToVisible:CGRectMake(0, 0, self.collectionView.frame.size.width, self.collectionView.frame.size.width) animated:NO];
}
기능 setup
는 다음과 같이 정의된다 :
-(void)setup
{
self.collectionView.pagingEnabled = YES;
self.collectionView.directionalLockEnabled = YES;
self.collectionView.bounces = NO;
self.collectionView.showsHorizontalScrollIndicator = NO;
}
감사합니다.
collectionView에 대한 contentsize는 어디에 설정합니까? –
내용을 설정하지 않았습니다. 기본값을 사용합니다. 나는 그 문제를 알아 냈다. 위치를 설정하려면'[contentScrollView scrollRectToVisible : pageRect animated : YES];를 사용해야합니다. 하지만 ViewDidLoad에 넣으면 안됩니다. 이것은'왼쪽 컨테이너 (left container) '의 델리게이트이므로'delegate' 함수에 넣어야합니다. 그렇다면 그것은 작동합니다. 감사! – user890207
당신이 얻은 것이 대단합니다. 사실, 나는 너에게 모범을 보였다. 나는 그것을 게시하려하고있다. 그러나 당신이 그것을 해결할 수 있다는 것이 좋다. –