1
在Xcode中5.1我創建了一個非常簡單的單一視圖的iPhone應用程序,並把the source code at GitHub:簡單的測試應用 - 與設備旋轉和縮放問題
我有禁用自動佈局,並把對方的意見如下:scrollView -> contentView -> imageView
(這裏fullscreen):
爲contentView
和imageView
我已禁用自動調整並將其幀設置爲{0, 0, 1000, 1000}
- 既在故事板中也在viewDidLoad方法中。
我已經啓用了雙擊和捏手勢進行縮放。
對於雙擊,圖像以100%或50%的寬度放大。
這工作一開始,但是設備旋轉後它打破:
變焦不能正常工作和圖像偏移 - 你不能滾動到其左上角:
這是我在3210很短的代碼,請指教如何解決它:
- (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];
}
更新:我使用顯示的應用程序(這裏fullscreen)試過了,但找不到任何有用的東西對我來說:
rollview? – Amandir
因爲這是我爲StackOverflow編寫的簡化測試用例。在真實的應用程序中,會有更多的東西放在'contentView'上 - 標籤和可拖動的字母圖塊:https://raw.github.com/afarber/ios-newbie/master/DragScroll/screenshot.png –