zak*_*ces 22 objective-c uiscrollview ios
这应该是一个非常简单的问题,但我无法获得所需的结果.我已经水平滚动UIScrollView,宽度为320.其内容的宽度为5000.我试图将内容集中在:
// 'self' is the UIScrollView
CGFloat newContentOffsetX = (self.width/2) + (self.contentSize.width/2);
self.contentOffset = CGPointMake(newContentOffsetX, 0);
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这不是内容的中心.你能看出计算出错吗?
Isa*_*aac 60
我想你想要:
CGFloat newContentOffsetX = (self.contentSize.width/2) - (self.bounds.size.width/2);
Run Code Online (Sandbox Code Playgroud)
图:
|------------------------self.contentSize.width------------------------|
|-----self.width-----|
|-------- offset --------|
^ center
Run Code Online (Sandbox Code Playgroud)
Apu*_*urv 11
使用以下代码:
CGFloat newContentOffsetX = (scrollView.contentSize.width - scrollView.frame.size.width) / 2;
scrollView.contentOffset = CGPointMake(newContentOffsetX, 0);
Run Code Online (Sandbox Code Playgroud)
斯威夫特 4
滚动到内容的中心 ScrollView
let centerOffsetX = (scrollView.contentSize.width - scrollView.frame.size.width) / 2
let centerOffsetY = (scrollView.contentSize.height - scrollView.frame.size.height) / 2
let centerPoint = CGPoint(x: centerOffsetX, y: centerOffsetY)
scrollView.setContentOffset(centerPoint, animated: true)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29788 次 |
| 最近记录: |