uiscrollview - IOS scrollView和autolayout的约束问题

 无声胜有剩 发布于 2022-11-26 19:08

想用StoryBoard开发个ipad和iphone通用的APP,有个scrollView滚动显示图片,我自己用autoLayout约束的ScrollView有各种问题,所以请教下大家要怎样去约束scrollView

谢谢大家的帮忙和思路,我现在已经弄得差不多了,现在遇到了一个问题,就是我没有加导航控制器的时候是完全没问题了的

但是加了导航条以后就会出现这样的情况,红色那块是滚动视图的颜色
重新约束也一样会有红色的那块存在,求解

问题解决,加了一句self.automaticallyAdjustsScrollViewInsets = NO;就可以了

3 个回答
  • 整过。。。 直接上图
    说明:
    滚动栏是ScrollView
    内容视图是UIView
    其他UIImageView

    技巧楼上貌似说了 加一个 dummyView。。。 对应的是内容视图

    图层关系

    父亲、兄弟视图约束

    儿子视图约束

    超过1屏的图片2约束展示

    看了下好像有多余的约束。。自己改下咯

    你这是算两个问题吧。。。问题二的原因是 因为加了导航栏。。ScrollView及其子类都有的问题。。
    解决方案:
    就是你可以打印下scrollView.contentInset.top
    以及打印下scrollView.contentInset.bottom;
    你就动啥原因了。。。

    2022-11-26 19:13 回答
  • 秘诀在于在ScrollView上加一个UIView,然后在UIView上添加你想要的内容

    然后最关键的地方在于使该UIView的width(如果要左右划动就是height)和Viewcontroller的背景View的width相等。

    2022-11-26 19:13 回答
  • 首先说明以下,对于scrollview的约束不简单,尤其在scrollview里面再放东西,我个人只做过简单的scrollview。
    之前在看autolayout的时候遇到很多专门的帖子来叙述scrollview的约束,当时觉得复杂就没有收藏连接...不能转给你了。

    大概说一下我现在对于scrollview的处理方法。

    1.如果是采用可视化界面的开发(我们用的是xib,storyboard类似),我会在scrollview里放我的控件,然后选择全部的控件,选择“添加建议的约束”(手上暂时没有mac电脑下午补一张截图)。这样的话在大部分情况都是可以完成自适应的。
    2.因为有的时候这种自动布局的方式不能很好的适应(也有可能是我约束设置的不好)。这种情况下我会采用纯代码的方式来布局整个scrollview,这样对于scrollview里的内容我可以很好的根据屏幕来适应。
    3.题主说到是用scrollview滚动显示图片,如果是多张的话,可以使用uitableview。对于tableview本身,是可以很好的利用autolayout来自适应的。
    以上,如果还有什么问题可以留言给我。

    2022-11-26 19:13 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有