加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iPhone UIScrollView ContentSize在旋转/转换为横向时具有额外的

发布时间:2020-12-14 17:36:08 所属栏目:百科 来源:网络整理
导读:做一些iPhone开发,让应用程序运行良好.但是,我有一个UIScrollView具有自动调整内容和contentSize非常有效,除非我旋转到横向视图时它在滚动高度上总是有100个左右的像素.我不希望用户能够滚动到目前为止的内容. 有没有其他人有这个问题或知道修复? 提前致谢,
做一些iPhone开发,让应用程序运行良好.但是,我有一个UIScrollView具有自动调整内容和contentSize非常有效,除非我旋转到横向视图时它在滚动高度上总是有100个左右的像素.我不希望用户能够滚动到目前为止的内容.

有没有其他人有这个问题或知道修复?

提前致谢,

迈克尔

解决方法

我遇到了同样的问题.在我的例子中,我循环遍历UIScrollView,试图动态计算它的contentSize.在循环浏览子视图的过程中,我在子视图中找到了两个神秘的imageViews(我没有添加),它们总共加起来只有100个像素.事实证明,这两个图像实际上是滚动指示器,它会自动添加到滚动视图中.

我的解决方案是创建一个容器视图类,让我们称之为ContainerView,并在其中创建了scrollview.

在这个ContainerView里面,我重写方法addSubview和willRemoveSubview,如下所示:

- (void)addSubview:(UIView *)view {
    [_addedSubviews addObject:view];
    [_scrollView addSubview:view];
}

- (void)willRemoveSubview:(UIView *)subview {
    [_addedSubviews removeObject:subview];
    [_scrollView willRemoveSubview:subview];
}

现在您可以添加计算大小的方法.这次我们将循环遍历名为_addedSubviews的数组,而不是scrollviews子视图,因为我们知道_addedSubviews中的视图只是我们添加的视图.因此,我们将避免循环滚动指示器和诸如此类的东西:-)

最后只是循环并计算.

- (CGSize)desiredContentSize {
    for(UIView *mySubviews in _addedSubviews) {
        // Calculate size
    }
    // Return size
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读