首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何编程设置UIScrollView边框的大小?

如何编程设置UIScrollView边框的大小?
EN

Stack Overflow用户
提问于 2012-02-18 19:25:24
回答 5查看 47.5K关注 0票数 14

我是新手,所以我的问题很明显,但到目前为止我还没有找到任何解决方案。

我在IB UIScrollView中这样做了,并将其连接到文件的所有者。我想现在设置我的UIScrollView (名为ScrollView)的帧大小。

代码语言:javascript
运行
复制
const CGFloat BoardWidth = 320;
const CGFloat BoardHeight = 400;

//I tried this way but 'Expression is assignable' - said Xcode
ScrollView.frame.size.width = BoardWidth;
ScrollView.frame.size.height = BoardWidth;

那么我怎么才能最简单的设置自己的ScrollView帧的大小呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-02-18 19:30:05

代码语言:javascript
运行
复制
CGRect scrollFrame = CGRrectMake(x, y, w, h);
ScrollView.frame = scrollFrame;

或者如果你只需要改变宽度和高度;

代码语言:javascript
运行
复制
CGRect scrollFrame;
scrollFrame.origin = ScrollView.frame.origin;
scrollFrame.size = CGSizeMake(w, h);
ScrollView.frame = scrollFrame;

编辑保持中心不变:

代码语言:javascript
运行
复制
CGRect scrollFrame;
CGFloat newX = scrollView.frame.origin.x + (scrollView.frame.size.width - w) / 2;
CGFloat newY = scrollView.frame.origin.y + (scrollView.frame.size.height - y) / 2;
scrollFrame.origin = CGPointMake(newX, newY);
scrollFrame.size = CGSizeMake(w, h);
scrollView.frame = scrollFrame;
票数 17
EN

Stack Overflow用户

发布于 2012-02-18 19:32:19

例如,您需要这样做。

代码语言:javascript
运行
复制
ScrollView.frame = CGRectMake(0, 0, BoardWidth, BoardHeight);

完成后,您还需要设置contentSize属性。它是在你的UIScrollView框架后面“延伸”的区域。

如果只想水平滚动,请执行以下操作:

代码语言:javascript
运行
复制
ScrollView.contentSize = CGSizeMake(w * BoardWidth, BoardHeight);

如果您只想垂直滚动:

代码语言:javascript
运行
复制
ScrollView.contentSize = CGSizeMake(BoardWidth, h * BoardHeight);

如果您想要同时水平和垂直滚动:

代码语言:javascript
运行
复制
ScrollView.contentSize = CGSizeMake(w * BoardWidth, h * BoardHeight);

其中wh是用于增加宽度和/或高度的泛型值。

如果您想要水平滚动(例如)离散滚动(例如,您有一些屏幕尺寸相同的页面)。

代码语言:javascript
运行
复制
ScrollView.pagingEnabled = YES;
ScrollView.contentSize = CGSizeMake(p * BoardWidth, BoardHeight);

其中p是要显示的页数。

希望能有所帮助。

票数 5
EN

Stack Overflow用户

发布于 2012-02-18 19:31:01

你可以这样做,如下所示

代码语言:javascript
运行
复制
scrollView.frame = CGRectMake(xOrigin,yOrigin,width,height);

如果您正在寻找滚动视图的内容大小,则如下所示,

代码语言:javascript
运行
复制
scrollView.contentSize = CGSizeMake(width,height);
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9340737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档