편집 : 새 프로젝트에서이 코드를 시도하고 예상대로 작동합니다. [[[CCDirector sharedDirector] openGLView]로 추가 된 다음 코드가 cocos2d를 사용하는 OpenGL보기 위에 사용됩니다. addSubview : lsvc.view]; 여기서 lsvc는 scrollview가있는 뷰 컨트롤러입니다. 내가 프로그래밍 방식으로 모든 시뮬레이터에서 잘 작동있는 ScrollView (xcode4, 4.3 SIMUL)를 이동하려고하지만 내 장치에서 작동하지 않는 경우 scrollView scrollRectToVisible 시뮬레이터에서 작동하고 장치에서 작동하지 않습니다.
내가 내있는 ScrollView와 이상한 동작을 (4.3.2)에
CGRect frame = self.scrollView.frame;
frame.origin.x = frame.size.width * self.pageControl.currentPage;
frame.origin.y = 0;
[self.scrollView scrollRectToVisible:frame animated:YES];
다음이 제가
의 viewDidLoadself.scrollView.delegate = self;
[self.scrollView setShowsVerticalScrollIndicator:NO];
[self.scrollView setShowsHorizontalScrollIndicator:NO];
self.scrollView.pagingEnabled = YES;
self.scrollView.scrollsToTop = NO;
int page = 0;
int pageNum = 3;
[self.scrollView setContentSize:CGSizeMake(self.scrollView.frame.size.width*pageNum, self.scrollView.frame.size.height)];
for (; page < pageNum; page++) {
LevelViewController *lvlvc = [[LevelViewController alloc] init];
CGRect frame = self.scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
lvlvc.view.frame = frame;
[self.scrollView addSubview:lvlvc.view];
// add the viewcontroller to a saved array to keep track
[levelsController addObject:lvlvc];
[lvlvc release];
}
self.pageControl.numberOfPages = page;
스크롤 번째에있는 ScrollView를 초기화하는 방법이다 난 (값 변화)를 pageControl 이벤트 내에서 스크롤 할 장치에서 패닝에 의한 스크롤 뷰는 훌륭하게 작동합니다. pageControl을 가볍게 두드리면 (20 포인트 이하), 나머지는 스크롤하지 않습니다. 시뮬레이터에서 모두 잘 작동합니다. 할 수있는 방향, 메신저 손실 때문에 확인하는 것에, 내가 그나마 내가 시뮬레이터에 2 개 개의 다른 행동을 얻을 장치 에 나는 또한
[self.scrollView setContentOffset 시도 이유를 알고 누군가 포인트 : CGPointMake을 (frame.size .width * pageNum, 0) animated : YES];
이 또한 시뮬레이터에서만 작동하고 나는 당신의 viewDidLoad에 당신은 addSubview
lvlvc.viw.tag = page+100;
self.scrollView addSubview:lvlvc.view];
전에 스크롤 뷰에 추가하고 pageControl 이벤트는 다음과 같이한다고 볼 수 태그를 추가하기위한
내 UIScrollView에 동일한 문제가 있습니다. 너 혹시 알아 냈어? –