UIScrollView
と を使用して水平スクロールを作成しようとしていますUIImageView
。画像ビューの幅は 1280px (4 ページ) で、scrollView の幅は 320px です。自動レイアウト モードなしでこのコードを使用すると、スクロールが正しく機能します。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.scrollView.scrollEnabled = YES;
self.scrollView.showsVerticalScrollIndicator = NO;
self.scrollView.showsHorizontalScrollIndicator = NO;
CGRect imageFrame = self.helpImageView.frame;
NSLog(@"imageFrame w: %f",self.helpImageView.frame.size.width); //prints 1280.000000
[self.scrollView setContentSize:imageFrame.size];
NSLog(@"contentSize w: %f",self.scrollView.contentSize.width); //prints 1280.0000
NSLog(@"scrollFrame w: %f",self.scrollView.frame.size.width); //prints 320.00
}
しかし、Autolayout を使用したい場合、このコードは同じ結果を返しますが、UIScrollView
スクロールしません。どうして???私はこれらの制約を使用しています:
Bottom space to: ScrollView Equals:32.0
Leading space to: ScrollView
Trailing space to: ScrollView
Top Space To: SCrollView Equals:-20.0
Bottom Space To: View Equals:-12.0
Leading space to: View
Top Space To: View Equals:427.0
Trailing space to: View