【问题标题】:How Can I Move An UIImageView Around In A UIScrollView?如何在 UIScrollView 中移动 UIImageView?
【发布时间】:2011-08-10 18:05:01
【问题描述】:

在我的应用程序中,我在 UIScrollView 中有一个 UIImageView。我想缩放和拖动 UIImageView。我设法进行了缩放,但似乎找不到使用 touchesMoved 在 UIScrollView 内拖动图像的方法。我用谷歌搜索过,但似乎我发现的唯一方法只能在 iOS 3.0+ 中使用,但现在在 iOS 4.0+ 中已经过时了。那么如何用手指拖动 UIScrollView 内的图像呢?

【问题讨论】:

    标签: iphone objective-c cocoa-touch uiscrollview uiimageview


    【解决方案1】:

    您不需要自己进行任何触摸检测。 UIScrollView 可以处理一切。

    这是一个例子:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
    
        scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
        scrollView.delegate = self;
        [self.view addSubview:scrollView];
    
        imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"test.jpg"]];
    
        scrollView.contentSize = imageView.bounds.size;
        [scrollView addSubview:imageView];
    
        float minScale  = scrollView.frame.size.width  / imageView.frame.size.width;
        scrollView.minimumZoomScale = minScale;
        scrollView.maximumZoomScale = 2.0;
        scrollView.zoomScale = minScale;
    }
    

    不要忘记添加这个委托方法来启用缩放:

    - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
    {
        return imageView;    
    }
    

    【讨论】:

    • 我使用 Interface Builder 创建了我的 UIScrollView,我很确定我完成了上述所有操作,除了 IB。我可以在东西周围移动拖动,但是当图像比 UIScrollView 小时,我根本无法移动它。
    • 嗯...如何将图像视图添加到更大的 UIView(比滚动视图大)并使用该 UIView 作为滚动视图的 contentView?
    猜你喜欢
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2010-10-22
    • 1970-01-01
    • 2013-08-11
    相关资源
    最近更新 更多