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![:)](https://osxentwicklerforum.de/wcf/images/smilies/smile.png)
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
![:)](https://osxentwicklerforum.de/wcf/images/smilies/smile.png)
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 ()