2

将按钮拖到我的滚动视图后,窗口不再滚动!如果我删除该按钮,现在可以滚动。

以前有人遇到过这个问题吗?

//ScrollViewController.h
@property (weak, nonatomic) IBOutlet UIScrollView *scroller;


//ScrollViewController.m
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    [self.scroller setScrollEnabled:YES];
    [self.scroller setContentSize:CGSizeMake(320, 700)];
}

在此处输入图像描述

4

3 回答 3

2

实际上,它只是在添加将代码移动到 viewDidLayoutSubiews 之后才起作用。

有人可以解释为什么这有效吗?

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    [self.scroller setScrollEnabled:YES];
    [self.scroller setContentSize:CGSizeMake(320, 700)];
}
于 2013-08-04T20:08:35.573 回答
0

在 viewDidLoad 添加:

self.scroller.canCancelContentTouches = YES;
于 2013-08-04T20:01:44.510 回答
0

继承 UIScrollView 并将下面的代码添加到 .m 文件中,确实解决了我在 iOS 8 下的滚动冻结问题。

代码:

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
    UITouch *touch = [touches anyObject];

    if(touch.phase == UITouchPhaseMoved)
    {
        return NO;
    }
    else
    {
        return [super touchesShouldBegin:touches withEvent:event inContentView:view];
    }
}

这个解决方案在 Pasta12 的回答https://stackoverflow.com/a/25900859/3433059

于 2014-10-07T21:31:21.773 回答