• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 使用 UIScrollView 和 setContentSize 时设置正确的大小

[复制链接]
菜鸟教程小白 发表于 2022-12-13 07:44:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我只是想拥有比普通 iPhone 屏幕更多的控件。以在联系人应用程序中查看某人的联系信息为例。

看来我应该使用 UIScrollView 来实现这一点。

假设我需要大约 800 像素。所以在我的 NIB 中,我将 ScrollView 的 View 设置为 800 的高度。然后我在 Scroll View 下添加我的控件。

我建立连接,然后在 viewDidLoad 中,我照常进行:

[scroller setScrollEnabled:YES];
[scroller setContentSize:CGSizeMake(320, 800)];

如果我在这种状态下构建和运行,它不会滚动。所以上网查了一下,有人说要设置这个比UIScrollView大。

我似乎无法找到有关如何实际计算 setContentSize 中的 800 的信息。只是猜测直到看起来正确吗?如果我将它设置为 801,我将永远看不到 ScrollView 底部的所有内容,如果我将其设置为 1000,我可以看到底部,但它并没有真正在底部结束。

我只希望如果用户向下滚动,它会正确地在底部结束。

这是如何计算的?还是我错过了什么?这似乎是一个相当普遍的用法,但还没有找到模拟这个简单示例的代码示例。



Best Answer-推荐答案


Scrollview 通过显示较小的区域来提供更大 Canvas 的视角,但允许您在 Canvas 上平移。现在,当您将 ScrollView 的框架大小和内容大小设置为相同时,目的就失败了。因此没有滚动。

当您在大小为 320x480 的窗口/ View 上将 ScrollView 的框架定义为 320x800 时,部分 View 会被剪掉。它不可见,但它在那里。你的内容也在那里。您需要做的是设置 ScrollView 以匹配窗口的大小,即 320x480。现在您可以滚动,因为透视图比 Canvas 小。

关于ios - 使用 UIScrollView 和 setContentSize 时设置正确的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104885/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap