gpt4 book ai didi

ios - 具有滚动、内容和 ImageView 的简单测试应用程序 - 在设备旋转和缩放方面存在问题

转载 作者:行者123 更新时间:2023-11-29 12:51:12 25 4
gpt4 key购买 nike

在 Xcode 5.1 中,我为 iPhone 创建了一个非常简单的单 View 应用程序,并将 the source code at GitHub :

app screenshot

我已禁用自动布局并将以下 View 相互放置:scrollView -> contentView -> imageView(此处为 fullscreen):

Xcode screenshot

对于 contentViewimageView 我禁用了自动调整大小并将它们的框架设置为 {0, 0, 1000, 1000} - 两者在 Storyboard和 viewDidLoad 中方法。

我已启用双击和捏合手势进行缩放。

双击图像会放大 100% 或 50% 宽度。

这最初有效,但在设备旋转后它中断了:

缩放功能不正常,图像发生偏移 - 您无法滚动到其左上角:

image screenshot

这是我在 ViewController.m 中的非常短的代码,请指教如何修复它:

- (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];
}

更新:我试过使用 Reveal 应用程序(此处为 fullscreen),但找不到任何对我有用的东西:

Reveal app

最佳答案

我的源代码似乎没问题,但在 Interface Builder 中我不得不为 scrollView 禁用“Autoresize Subviews”:

Xcode screenshot

关于ios - 具有滚动、内容和 ImageView 的简单测试应用程序 - 在设备旋转和缩放方面存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com