Objective-C:如何在UIScrollView中禁用verticall滚动

时间:2015-10-10 03:59:53

标签: ios objective-c xcode uiscrollview

我将以编程方式将UIScrollView添加到UIView中。 我尝试使用以下代码,但仍未禁用scrollview。

-(id)initWithFrame:(CGRect)frame {
...
  _scrollView = [[UIScrollView alloc] initWithFrame:CGRectZero];
  [self addSubview:_scrollView];
...
}
-(void)layoutSubviews {
...
  _scrollView.frame = CGRectMake(0, 0, self.frame.size.width, 40);
  [_scrollView setContentSize:CGSizeMake(self.frame.size.width * 2, 40)];
...
}

我认为它应该可行,但现在不能正常工作。 请告诉我问题是什么。 感谢

6 个答案:

答案 0 :(得分:2)

好吧,尝试像这样设置contentSize:

[_scrollView setContentSize:CGSizeMake(self.frame.size.width * 2, 0)];

让我知道结果。感谢。

答案 1 :(得分:0)

尝试设置_scrollView.scrollEnabled = NO; 这将禁用scrollView垂直或水平滚动。

更新:仅避免垂直滚动

Refer this link

您需要设置scrollView的框架,然后设置其contentSize

_scrollView.contentSize = CGSizeMake(scrollView.contentSize.width,scrollView.frame.size.height);

答案 2 :(得分:0)

您可以尝试以下代码:

ulimit

答案 3 :(得分:0)

为此,您必须设置 - 您的滚动视图内容高度是滚动视图高度

_scrollView.contentSize = CGSizeMake(_scrollView.contentSize.width,_scrollView.frame.size.height);

另一种方式是

如果scrollView的contentSize.height小于其bounds.size.height,则不会垂直滚动。

您需要设置

 scrollView.contentSize = (CGSize){<yourContentWidth>, 1.0}

答案 4 :(得分:0)

您只需要水平滚动,不需要垂直滚动。请尝试下面的代码。我不知道你在哪里停留:

(void)viewDidLoad {
    [super viewDidLoad];
    [self CreateScrollView];
}

(void)CreateScrollView 
{
   UIScrollView *Scroll_View = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, 40)];
  [self addSubview:Scroll_View];
  [_scrollView setContentSize:CGSizeMake(self.frame.size.width * 2, 40)];    
}

答案 5 :(得分:-1)

您可以尝试这样:

[_ scrollView setShowsVerticalScrollIndicator:NO];