我是新手所以我的问题非常明显,但到目前为止我找不到任何解决方案。
我在IB UIScrollView中做了并将其与文件所有者连接。 我想现在设置我的UIScrollView(名为ScrollView)的帧大小。
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框架大小?
答案 0 :(得分:17)
CGRect scrollFrame = CGRrectMake(x, y, w, h);
ScrollView.frame = scrollFrame;
或者如果您只需要更改宽度和高度;
CGRect scrollFrame;
scrollFrame.origin = ScrollView.frame.origin;
scrollFrame.size = CGSizeMake(w, h);
ScrollView.frame = scrollFrame;
编辑保持中心不变:
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;
答案 1 :(得分:5)
ScrollView.frame = CGRectMake(0, 0, BoardWidth, BoardHeight);
完成后,您还需要设置contentSize
属性。这是在UIScrollView
的框架后面“延伸”的区域。
如果您只想横向滚动:
ScrollView.contentSize = CGSizeMake(w * BoardWidth, BoardHeight);
如果您只想垂直滚动:
ScrollView.contentSize = CGSizeMake(BoardWidth, h * BoardHeight);
如果要水平和垂直滚动:
ScrollView.contentSize = CGSizeMake(w * BoardWidth, h * BoardHeight);
其中w
和h
是增加宽度和/或身高的通用值。
如果您想要一个水平(例如)离散滚动(例如,您的某些页面具有相同的屏幕尺寸)。
ScrollView.pagingEnabled = YES;
ScrollView.contentSize = CGSizeMake(p * BoardWidth, BoardHeight);
其中p
是您要显示的页数。
希望它有所帮助。
答案 2 :(得分:4)
您可以按照以下方式执行,
scrollView.frame = CGRectMake(xOrigin,yOrigin,width,height);
如果您要查找scrollview的内容大小,请按以下方式
scrollView.contentSize = CGSizeMake(width,height);
答案 3 :(得分:1)
CGRect Frame = ScrollView.frame
Frame.frame.size.width = BoardWidth;
Frame.frame.size.width = BoardWidth;
ScrollView.frame = Frame;
因为frame是一个结构..你不能直接设置一个对象的框架..你必须做一个Cgrect然后操纵它。
答案 4 :(得分:0)
使用contentSize属性
ScrollView.contentSize = CGSizeMake(320, 520);
它需要比框架大,所以它实际滚动。