2013-07-24 3 views
0

x = 160, y = 186, width = 1600, height = 380의 CGRect 뷰 (masterView)를 만들었습니다. 이보기에는 5 개의 하위보기가 있으며 각 하나의 iPhone 화면이 360도 넓습니다.UIScrollview는 5/3가 아닌 5/3 페이지에서 시작합니다.

이보기를 통해 페이지를 이동하려면 페이징 기능이있는 scrollview를 설정했습니다. 응용 프로그램을 실행하면 5 페이지 중 3 페이지가 나타나고 5 이후에 3 - 5 + 2 빈 페이지 사이에서 자유롭게 페이지를 이동할 수 있지만 1 & 페이지로 이동할 수 없습니다. 2. 어떤 이유에서 masterView가 왼쪽으로 밀려 나옵니다 2 화면 너비. 앱이 1 페이지에서 시작되도록 위치를 수정하려면 어떻게해야합니까?

이것은 내 첫 번째 앱입니다.

내가보기 컨트롤러의 viewDidLoad에서 다음 코드를 넣어 가지고 :

CGRect screenRect = CGRectMake(0, 0, 320, 380); 

UIScrollView *scrollView2 = [[UIScrollView alloc] initWithFrame:screenRect]; 
[scrollView2 setDelegate:self]; 

CGRect bigRect = CGRectMake(0, 186, 1600, 380); 
[scrollView2 setContentSize:bigRect.size]; 
[scrollView2 setPagingEnabled:YES]; 

[scrollView2 addSubview:masterview]; 
[[self view] addSubview:scrollView2]; 
+0

'scrollView2'에서 서브 뷰의 위치는 무엇입니까? –

답변

1

체크 아웃 UIPageControlUIScrollView 사용에 대한이 우수한 자습서를. 너를 가야 해.

http://www.iosdevnotes.com/2011/03/uiscrollview-paging/

중요한 비트는 viewDidLoad에이 코드 샘플 ARC를 사용

for (int i = 0; i < colors.count; i++) { 
    CGRect frame; 
    frame.origin.x = self.scrollView.frame.size.width * i; 
    frame.origin.y = 0; 
    frame.size = self.scrollView.frame.size; 

    UIView *subview = [[UIView alloc] initWithFrame:frame]; 
    subview.backgroundColor = [colors objectAtIndex:i]; 
    [self.scrollView addSubview:subview]; 
    [subview release]; 
} 

있지만, 여전히 적용됩니다. 각 하위보기의 프레임은 페이지 번호 self.scrollView.frame.size.width * i으로 오프셋됩니다.

행운을 비네.