私のコードでは、スクロールビューを作成し、そこにイメージビューを追加しています。残念ながら、自動サイズ変更マスクは機能しておらず、画像は画面の一部に表示されます。コードは以下に示されています:UIScrollView autoresizaskが機能していません
// 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))];
私にとっては、縫い目はOKですが、何かが欠落している可能性があります。あなたの援助は歓迎されます。よろしくお願いします。
あなたのポートレートモードでのUI(pgImage)の例外は何ですか? –
UIは常にポートレートモードです。ありがとう。 –