2009-12-29 5 views
0

UIScrollViewUIImageViews을로드합니다. 아래의 imageViews는 NSMutableDictionary이며 UIImageViews입니다. 스크롤보기는 IBOutlet이며 스크롤링 및 페이징을 사용할 수 있습니다. 루프는 두 개의 이미지를 추가합니다. 그러나 스크롤 뷰에서 첫 번째 이미지 만 볼 수 있으며 스크롤 할 수 없습니다. 스크롤 기능을 사용하려면 작동시킬 필요가있는 다른 것이 있습니까?UIScrollView가 스크롤되지 않습니다.

for(NSString *s in [imageViews allKeys]){ 
    UIImageView *myImageView = [imageViews valueForKey:s]; 
    myImageView.frame = CGRectMake(0, 0, 120, 90); 
    myImageView.contentMode = UIViewContentModeScaleAspectFit; 
    scrollView.contentSize = CGSizeMake(120, 90); 
    [scrollView addSubview:myImageView]; 
} 

[scrollView layoutSubviews]; 
+0

'for (NSString * in [imageViews allKeys])'는'for (NSString * in imageViews) '로 쓸 수 있습니다. – user102008

답변

4

IB에서 scrollView가 약 120x90이라고 생각하십니까? 그런 다음 2 개의 이미지 인 경우 contentSize를 240x90 이상으로 설정하고 가로로 스크롤하거나 페이지로 이동할 수 있다고 가정 할 경우 n은 이미지 뷰의 양을 (n * 120) x90으로 설정해야합니다. 이는 contentSize가 이미지의 "가상"영역 전체를 나타 내기 때문입니다.

는 또한 : 현재 같은 좌표에 각각의 이미지 뷰를 배치하고 있습니다 : 당신은 하나 개의 이미지를 볼 이유

myImageView.frame = CGRectMake(0, 0, 120, 90) 

이, 그들은 중복. 각각의 연속적인 imageView를 이전의 오른쪽에 적어도 120 개 배치해야합니다.

+0

[scrollView layoutSubviews]를 주석 처리했으며 모두 잘 동작합니다. 그게 뭐 필요한 거니? – 4thSpace

+0

아니, 여기 필요 없다고 생각합니다. 애니메이션의 크기를 조정하는 것과 같은 경우에 사용 된 layoutSubview 만 보았습니다. – mkrause

관련 문제