jar*_*ryd 83 iphone uiscrollview ios
在IB中有一个选项可以取消选中滚动视图上的垂直滚动,但它似乎不起作用.
如何将scrollview设置为仅水平滚动,而不是在代码而不是IB中垂直滚动?
Mir*_*ner 137
从iOS7开始:
第一:内容大小宽度必须等于滚动视图的宽度
第二:在你的initWithNibName中:
self.automaticallyAdjustsScrollViewInsets = NO;
Run Code Online (Sandbox Code Playgroud)
而已.
pt2*_*ph8 119
尝试将contentSize的高度设置为scrollView的高度.然后应禁用垂直滚动,因为没有任何内容可以垂直滚动.
scrollView.contentSize = CGSizeMake(scrollView.contentSize.width,scrollView.frame.size.height);
Run Code Online (Sandbox Code Playgroud)
mer*_*nix 49
是的,pt2ph8的答案是对的,
但是如果由于某些奇怪的原因你的contentSize应该高于UIScrollView,你可以禁用实现UIScrollView协议方法的垂直滚动
-(void)scrollViewDidScroll:(UIScrollView *)aScrollView;
Run Code Online (Sandbox Code Playgroud)
只需在你的UIViewController中添加它
float oldY; // here or better in .h interface
- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
[aScrollView setContentOffset: CGPointMake(aScrollView.contentOffset.x, oldY)];
// or if you are sure you wanna it always on top:
// [aScrollView setContentOffset: CGPointMake(aScrollView.contentOffset.x, 0)];
}
Run Code Online (Sandbox Code Playgroud)
它只是用户滚动UIScrollView时调用的方法,这样做会强制它的内容始终保持相同.y
Feb*_*n P 22
包括以下方法
-(void)viewDidLayoutSubviews{
self.automaticallyAdjustsScrollViewInsets = NO;
}
Run Code Online (Sandbox Code Playgroud)
并将滚动视图的内容大小宽度设置为等于滚动视图的宽度.
小智 19
您需要在内容大小上传递0以禁用您想要的方向.
禁用垂直滚动
scrollView.contentSize = CGSizeMake(scrollView.contentSize.width,0);
Run Code Online (Sandbox Code Playgroud)
禁用水平滚动
scrollView.contentSize = CGSizeMake(0,scrollView.contentSize.height);
Run Code Online (Sandbox Code Playgroud)
bol*_*onn 17
我更新了内容大小以禁用垂直滚动,并且仍然保持滚动的能力.然后我发现我也需要禁用垂直反弹,以完全禁用滚动.
也许有人也有这个问题.
小智 13
- (void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
[aScrollView setContentOffset: CGPointMake(aScrollView.contentOffset.x,0)];
}
Run Code Online (Sandbox Code Playgroud)
你必须得到确认 UIScrollViewDelegate
aScrollView.delegate = self;
Run Code Online (Sandbox Code Playgroud)
小智 5
只需将 y 设置为始终位于顶部即可。需要符合UIScrollViewDelegate
func scrollViewDidScroll(scrollView: UIScrollView) {
scrollView.contentOffset.y = 0.0
}
Run Code Online (Sandbox Code Playgroud)
这将保持滚动的减速/加速效果。
在iOS 11上,如果您有兴趣创建固定在屏幕边界而非安全区域的滚动视图,请记住添加以下内容:
if (@available(iOS 11.0, *)) {
[self.scrollView setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100067 次 |
| 最近记录: |