2013-12-20 3 views
0

가로로 스크롤하는 여러보기를 하나의보기에 만듭니다. 다음 코드는 잘 작동 :UIScrollview는 iOS 스크롤하지 않습니다

-(void)updateSection { 
    builder = [NSMutableArray array]; 
    float xPosition = 0; 
    float xposbut = 100; 

    scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 100, self.frame.size.width, self.frame.size.height - 69)]; 

    scrollView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 
    scrollView.delegate = self; 
    [self addSubview:scrollView]; 

    for (int i = 1; i < itemArticleArray.count; i++) { 
     ItemView *item = [ItemView loadNibs]; 
     item.frame = CGRectMake(xposbut, 10, item.frame.size.width, item.frame.size.height); 

     xPosition += scrollView.frame.size.width + 2; 
     xposbut += 500; 
     UIView *seperatorView = [[UIView alloc] initWithFrame:CGRectMake(xposbut - 50, 4, 2, scrollView.frame.size.height - 8)]; 
     [scrollView addSubview:seperatorView]; 
     xPosition += scrollView.frame.size.width + 4; 

     [scrollView addSubview: item]; 
     [builder addObject:item]; 
    } 

    [scrollView setContentSize:CGSizeMake(xposbut, scrollView.frame.size.height)]; 
    [self addSubview:scrollView]; 
} 

을하지만, 나는 다음에 코드의 8 번째 라인을 변경할 때 :

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 400, self.frame.size.width, self.frame.size.height - 69)]; 

그것은 레이아웃이 잘 보이는 원인이 있지만, 스크롤 뷰는 다음 스크롤되지 않습니다 조금도. 어떤 아이디어?

+0

변경 한 코드 줄은 무엇입니까? –

+0

죄송합니다. 위의 게시물을 편집했습니다. –

+0

적어도 하나의 'contentSize'크기가 'scrollView' 자체 크기보다 커야 어딘가에서 스크롤 할 수 있습니다. –

답변

3

contentSize.heightscrollView.frame.size.height으로 설정하면 scrollView 캔트 스크롤이 불가능합니다. contentSize을 보이지 않는 부분을 포함하여 scrollView의 전체 높이로 설정해야합니다. 프레임은 화면상의 영역입니다.

0

스크롤보기의 내용 크기를 설정하십시오. 내용 크기가 frame.size보다 커야 만 스크롤보기 만 스크롤됩니다. 또한 스크롤링을 사용할 수 있습니다.

사용하는 코드

scrollView.scrollEnabled=YES; 
scrollView.contentSize=CGSizeMake(CGFloat width, CGFloat height); 

높이 scrollView.frame.size.height보다 커야하고 scrolview의 프레임을 넘어있는 ScrollView 안에 내용을 추가해야합니다.

+0

하지만 가로로 스크롤하지 않고 세로로 스크롤하고 싶습니다. –

+0

contentsize.height가 frame.size.height보다 큰 scrollview를 만들면 세로로 스크롤 할 수 있습니다. 희망이 당신을 도와줍니다. :) – iGautham

0

UIScrollview 콘텐츠 크기가 프레임 크기보다 클 때 스크롤됩니다. 코드에서 프레임 크기와 동일한 내용 크기를 설정하므로 스크롤보기가 스크롤되지 않습니다.

당신은 스크롤이 체크 아웃 그래서 작업 할 공간이 제공해야
0

:

  1. 스크롤에 대한
  2. 을 출구를 만들기 스토리 보드
  3. 의 스크롤을 만들고하여 .m 파일에 당신이해야합니다

    (void)viewDidLoad { 
        [super viewDidLoad]; 
        yourScroll.scrollEnabled=YES; 
        yourScroll.contentSize=CGSizeMake(self.view.frame.size.width, self.view.frame.size.height*2); 
    } 
    
    /* 
    * yourScroll.contentSize=CGSizeMake(your desired scroll width, your desired scroll height); 
    * The values must be bigger than the viewController size 
    */ 
    
    :이 라인을

코드를 붙여

관련 문제