2016-04-09 18 views
0

Aşağıda gösterilen kodumda, bir kaydırma görünümü oluşturup içine bir Görüntü Görünümü ekliyorum. Maalesef autoresizingmask çalışmıyor ve ekranın bir kısmında gösterilen görüntü. Kod aşağıda gösterilmiştir:UIScrollView autoresizemask çalışmıyor

// Scroll View Setup 
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(10, 216, 300, 344)]; 
self.scrollView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin); 
self.scrollView.delegate = self; 
self.scrollView.contentMode = UIViewContentModeScaleToFill; 
self.scrollView.scrollEnabled=YES; 
self.scrollView.userInteractionEnabled=YES; 
self.scrollView.bounces = YES; 
self.scrollView.bouncesZoom = YES; 
self.scrollView.delaysContentTouches = YES; 
self.scrollView.canCancelContentTouches = YES; 
self.scrollView.minimumZoomScale = 1; 
self.scrollView.maximumZoomScale = 10; 
self.scrollView.zoomScale = 1; 
self.scrollView.opaque = YES; 
self.scrollView.clipsToBounds = YES; 
self.scrollView.clearsContextBeforeDrawing = YES; 
self.scrollView.contentSize = CGSizeMake(300, 344); 
self.scrollView.autoresizesSubviews = YES; 
[self.view addSubview:self.scrollView]; 

// Image View setup 
self.pgImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 344)]; 
self.pgImage.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin); 
self.pgImage.contentMode = UIViewContentModeScaleAspectFit; 
self.pgImage.opaque = YES; 
self.pgImage.clipsToBounds = NO; 
self.pgImage.clearsContextBeforeDrawing = YES; 
self.pgImage.autoresizesSubviews = YES; 

[self.scrollView addSubview:self.pgImage]; 

//autoresize scrollView 
CGFloat scrollViewHeight = 0.0f; 
CGFloat scrollViewWidth = 0.0f; 
for (UIView *view in self.scrollView.subviews) { 
    CGFloat height = (view.frame.size.height + view.frame.origin.y); 
    scrollViewHeight = ((height > scrollViewHeight) ? height : scrollViewHeight); 
    CGFloat width = (view.frame.size.width + view.frame.origin.x); 
    scrollViewWidth = ((width > scrollViewWidth) ? width : scrollViewWidth); 
} 

[self.scrollView setContentSize:(CGSizeMake(scrollViewWidth, scrollViewHeight))]; 

Benim için dikişleri tamam, ancak bir şey eksik olabilir. Yardımınız memnuniyetle karşılıyor. Şimdiden teşekkürler.

+0

Portre modunda UI (pgImage) özel durumunuz. –

+0

UI her zaman dikey modda. –

cevap

0

autolayout'u kullanın. UIView'u ScrollView'a ekleyin ve ardından ImageView ürününü ekleyin.

+0

teşekkürler. O, ancak geri kalanını takip ederek, otomatik olarak işe yaramazdı. –

+0

bu harika. :) autolayout kullanımı bu tür şeyleri çok daha kolay hale getirebilir ..! – Lion