Kon*_*asa 14 xcode objective-c uiscrollview
我是新手,所以我的问题可以很明显,但到目前为止我找不到任何解决方案.
我在IB UIScrollView中进行了操作并将其与File的所有者连接.我想现在设置我的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;
Run Code Online (Sandbox Code Playgroud)
那么我怎样才能最简单地设置自己的ScrollView框架大小?
sch*_*sch 17
CGRect scrollFrame = CGRrectMake(x, y, w, h);
ScrollView.frame = scrollFrame;
Run Code Online (Sandbox Code Playgroud)
或者,如果您只需要改变宽度和高度;
CGRect scrollFrame;
scrollFrame.origin = ScrollView.frame.origin;
scrollFrame.size = CGSizeMake(w, h);
ScrollView.frame = scrollFrame;
Run Code Online (Sandbox Code Playgroud)
编辑保持中心不变:
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;
Run Code Online (Sandbox Code Playgroud)
例如,你需要这样做.
ScrollView.frame = CGRectMake(0, 0, BoardWidth, BoardHeight);
Run Code Online (Sandbox Code Playgroud)
完成后,您还需要设置contentSize
属性.它是在你的框架后面"延伸"的区域UIScrollView
.
如果只想水平滚动:
ScrollView.contentSize = CGSizeMake(w * BoardWidth, BoardHeight);
Run Code Online (Sandbox Code Playgroud)
如果只想垂直滚动:
ScrollView.contentSize = CGSizeMake(BoardWidth, h * BoardHeight);
Run Code Online (Sandbox Code Playgroud)
如果要水平和垂直滚动:
ScrollView.contentSize = CGSizeMake(w * BoardWidth, h * BoardHeight);
Run Code Online (Sandbox Code Playgroud)
其中w
和h
是增加宽度和/或高度的通用值.
如果你想要一个水平(例如)离散滚动(例如你有一些页面具有相同的屏幕尺寸).
ScrollView.pagingEnabled = YES;
ScrollView.contentSize = CGSizeMake(p * BoardWidth, BoardHeight);
Run Code Online (Sandbox Code Playgroud)
p
您要显示的页数在哪里.
希望能帮助到你.
归档时间: |
|
查看次数: |
46435 次 |
最近记录: |