Guten Tag!
Habe eine single view iPhone app für Testzwecke erstellt und auf GitHub eingecheckt.
Die App ist sehr einfach: scrollView -> contentView -> imageView -> image (1000 x 1000).
[Blockierte Grafik: http://i.stack.imgur.com/cPP2j.png]
Das Autolayout (und Autoresizing - für contentView und imageView) habe ich ausgeschaltet.
Die App funktioniert zuerst gut - ich kann das Bild scrollen und auch zoomen (mit Double-Tap und Pinch Gesten):
[Blockierte Grafik: https://github.com/afarber/ios-newbie/blob/master/ScrollContent/screenshot.png?raw=true]
Wenn ich aber das Gerät einmal ins Landscape Modus kippe fangen die Probleme an:
[Blockierte Grafik: http://i.stack.imgur.com/LJcez.png]
Die contentOffset und contentSize stimmen anscheinend nicht mehr.
Bitte kuckt meinen sehr einfachen Quellcode an und gibt mir die Ratschläge
Alles anzeigen
Gruss
Alex
Habe eine single view iPhone app für Testzwecke erstellt und auf GitHub eingecheckt.
Die App ist sehr einfach: scrollView -> contentView -> imageView -> image (1000 x 1000).
[Blockierte Grafik: http://i.stack.imgur.com/cPP2j.png]
Das Autolayout (und Autoresizing - für contentView und imageView) habe ich ausgeschaltet.
Die App funktioniert zuerst gut - ich kann das Bild scrollen und auch zoomen (mit Double-Tap und Pinch Gesten):
[Blockierte Grafik: https://github.com/afarber/ios-newbie/blob/master/ScrollContent/screenshot.png?raw=true]
Wenn ich aber das Gerät einmal ins Landscape Modus kippe fangen die Probleme an:
[Blockierte Grafik: http://i.stack.imgur.com/LJcez.png]
Die contentOffset und contentSize stimmen anscheinend nicht mehr.
Bitte kuckt meinen sehr einfachen Quellcode an und gibt mir die Ratschläge
Quellcode
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- _imageView.frame = CGRectMake(0, 0, 1000, 1000);
- _contentView.frame = CGRectMake(0, 0, 1000, 1000);
- }
- - (void)viewDidLayoutSubviews
- {
- [super viewDidLayoutSubviews];
- float scale = _scrollView.frame.size.width / 1000;
- _scrollView.minimumZoomScale = scale;
- _scrollView.maximumZoomScale = 2 * scale;
- _scrollView.zoomScale = 2 * scale;
- _scrollView.contentSize = CGSizeMake(1000, 1000);
- }
- - (UIView*)viewForZoomingInScrollView:(UIScrollView*)scrollView
- {
- return _contentView;
- }
- - (IBAction)scrollViewDoubleTapped:(UITapGestureRecognizer*)sender
- {
- if (_scrollView.zoomScale < _scrollView.maximumZoomScale)
- [_scrollView setZoomScale:_scrollView.maximumZoomScale animated:YES];
- else
- [_scrollView setZoomScale:_scrollView.minimumZoomScale animated:YES];
- }
Gruss
Alex
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von afarber ()