前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【iOS开发】UIScrollView 看不到内容、UIScrollView 不能滑动

【iOS开发】UIScrollView 看不到内容、UIScrollView 不能滑动

作者头像
KyXu
发布2019-04-11 17:03:52
1.5K0
发布2019-04-11 17:03:52
举报
文章被收录于专栏:KyXu

初学者第一次使用 UIScrollView 的时候,很可能会遇到 UIScrollView 滑动不了,或者明明添加了内容,却看不到的问题。 这里展示最简洁、最常态化的一种在 UIScrollView 中添加可以滑动的 UIImageView 的案例。

上下文关系:代码中的“tipView”是通过 Storyboard 拖线到代码中绑定的 IBOutlet,已经在 self.view 里面了。

设置 UIScrollView

这里把 imageView 的 contentMode 设置为 AspectFill 来保证 image 可以填满 imageView ,并且长宽比不改变。 容易犯的错误是通过 frame 来初始化 imageView,这是不必要也是不应该的。应该设定好你的图片资源的大小,然后直接用图片资源的frame 去设定 imageView 的 frame,当然这一步也是自动的。 接下来要确定 UIScrollView 的 contentSize,即它的内容、可滑动范围。这也直接套用的图片资源的 frame。

注意点1:必须保证 UIScrollView 的 contentSize 比它本身的 size要大,否则不可能滑动。

注意点2:现在 imageView 是 UIScrollView 的 subView,所以它的 frame 也是相对 UIScrollView 的,你想要让它和 UIScrollView 刚好一样高,就要把它的 frame 的 y 值设定为0,这也是为什么我推荐你不管这个 y 值,让它自动置为0。假如 UIScrollView 的 y 值为10,你再设定 imageView 的 y 值为10,那么相对于屏幕来说,imageView 的 y 值是20。当它的 y 值大到一定程度,超出了 UIScrollView,你自然就看不到内容了。

更新: 如果你的 UIScrollView 老是在你不希望它滚动的方向的滚动,而且里面的 imageView 还有可能错位的话,在 viewDidLoad 方法中加入这句:

代码语言:javascript
复制
self.automaticallyAdjustsScrollViewInsets = false
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015.08.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档