很难在Xcode 6中滚动scrollView

时间:2014-10-20 08:52:07

标签: ios scrollview xcode6

我在其上创建了scrollView和UIButton,如下面的代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 200, 375, 60)];
    myScrollView.contentSize = CGSizeMake(375*4, 60);
    myScrollView.pagingEnabled = YES;
    myScrollView.backgroundColor = [UIColor orangeColor];
    myScrollView.userInteractionEnabled = YES;
    [self.view addSubview:myScrollView];

    for (int i = 0; i < 4 ; i ++) {
        UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(75 + 375*i, 0, 300, 60)];
        [btn setTitle:[NSString stringWithFormat:@"Button %d",i+1] forState:UIControlStateNormal];
        btn.backgroundColor = [UIColor brownColor];
        [btn addTarget:self action:@selector(ButtonClick) forControlEvents:UIControlEventTouchUpInside];
        [myScrollView addSubview:btn];
    }
}

在iphone 6上,scrollView变得难以滚动,但是当我按标签替换按钮时,它正常工作。

在iphone 5,5s中,没关系; 这有什么问题?

1 个答案:

答案 0 :(得分:0)

第一个子类UIScrollview并将此函数添加到.m文件中。

     - (BOOL)touchesShouldCancelInContentView:(UIView *)view{
if ( [view isKindOfClass:[UIButton class]] ) {
    return YES;
}
return [super touchesShouldCancelInContentView:view];}

使用子类作为scrollview

myScrollView = [[myScroll alloc] initWithFrame:CGRectMake(0, 200, 375, 60)];

然后设置此属性YES

myScrollView.canCancelContentTouches = YES;

这可以解决您的问题。