0

我在放大时遇到了一些问题,当我放大时,下一个 UIImageView 超出了正在放大的 UIImageView。

我将 UIImageView 加载到我在控制器中调用的 UIScrollView 的子类中。加载功能和滚动功能完美运行

第一个问题是,当我放大下一个 UIImageView 时,会超出我放大的那个。

所以我试图将每个 UIImageView 放在我放入 ScrollView 的 UIView 中,但它做同样的事情......

我遇到的第二个问题是,当我放大时,我的滚动不再起作用。

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView {
// Return the view that you want to zoom
NSLog(@"viewForZoomingInScrollView - current : %d",self.scrollPageControl.currentPage);
return [[[[self.productImageScrollView subviews]objectAtIndex:0] subviews]objectAtIndex:self.scrollPageControl.currentPage];
//return [[self.productImageScrollView subviews] objectAtIndex:0];
//return [self.productImageScrollView getSubViewsByPage:[NSNumber numberWithInteger:[self.scrollPageControl currentPage]]];

第一个返回 UIView 的 UIImageView 第二个返回 UIView 第三个返回 UIImageView 当我不使用 UIView 时。

我看到了很多类似的问题,但我尝试过的没有任何帮助...... 所以我打电话给你!Ty 问我是否不清楚。

4

3 回答 3

0

尝试创建一个 UIView *(也许称它为 contentView)并将所有 UIImageView 作为子视图放入该 contentView

然后,在

- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView {
    return contentView;
}
于 2012-08-28T16:03:15.077 回答
0

您是否在方法中返回该视图?这是关键部分...

滚动视图只会缩放您在 viewForZooming 中返回的视图,因此如果您要返回一张图像,其余的将不会缩放。我假设您按顺序添加它们,因此当放大的放大时,下一个将保持静止,因此位于当前的顶部

尝试将所有图像添加到视图中,然后在 viewForZoomingInScrollView 中返回相同的视图:

于 2012-08-28T16:44:46.507 回答
0

这是确定要缩放的对象的函数:

func viewForZooming(in scrollView: UIScrollView) -> UIView?{
    return scrollImageView
}

然后您可以将您想要的内容作为子视图添加到该对象,它将缩放到:

scrollImageView.addSubview(teritorysImages)
于 2020-06-17T08:33:54.080 回答