UIImageView 在 UIScrollView 内未正确定位

Posted

技术标签:

【中文标题】UIImageView 在 UIScrollView 内未正确定位【英文标题】:UIImageView not positioned correctly inside UIScrollView 【发布时间】:2013-10-27 09:08:14 【问题描述】:

我在滚动视图中有滚动视图(一个用于分页,一个用于缩放)。外部容器只占据屏幕的一部分。内部滚动视图以编程方式创建,其框架与外部框架匹配,但具有原点 (0, page * width_of_outer)。问题是当屏幕加载时,内部滚动视图不会出现在 y = 0 处,而是被外框的 y 偏移。一旦我触摸内部滚动视图内的某些东西,就会移动到占据整个外部滚动视图的正确位置。我不知道为什么......内部的框架是正确的,y = 0。所有都添加为外部的子视图。有什么想法吗?

编辑: 我的内心是被创造出来的

    CGRect frame = self.frame; // or bounds - doesn't make any difference
    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0.0f;

    // this will cause calling [UIScrollView initWithFrame: frame];        
    MyScrollView *scrollView = [[MyScrollView alloc] initWithPage:page andFrame:frame];

    [self addSubview: scrollView];

【问题讨论】:

可以展示内部滚动视图框架创建代码吗? 你什么时候运行上面的代码? viewDidLoadviewdidlayoutsubviews 等? 这个片段中的self是外滚动视图吗? Neal - 它在从父级调用的单独方法中(所以我猜它毕竟是正常的)。 Alexander:是的,self 是外层滚动视图 【参考方案1】:

你想使用inner.frane = outter.bounds;

【讨论】:

谢谢,但这没什么区别

以上是关于UIImageView 在 UIScrollView 内未正确定位的主要内容,如果未能解决你的问题,请参考以下文章

在 UIImageView 上绘制 UIBezierPath

使 UIImageView 透明并在触摸时显示其下方的 UIImageView

在 UIImageView 上添加 UIPinchgesture 的哪个比例或在 UIImageView 包含的 UIView 上?

如何在另一个 UIImageView Swift 3 上方应用和移动 UIImageView 层

在UIWebView上启用缩放/缩放

UIImageView:将多个 UIViewContentMode 属性应用于一个 UIImageView?