2014-10-20 9 views
0

Я создал Scrollview и UIButton на него, как код ниже:Трудно прокручивать Scrollview в Xcode 6

- (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, все в порядке; Что в этом плохого?

ответ

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)]; 

Затем установите это свойство ДА

myScrollView.canCancelContentTouches = YES; 

Это решить вашу проблему.

+0

Да, проблема решена, но как эта проблема возникает? Не могли бы вы объяснить это мне или отправить мне по электронной почте ([email protected]). Я ценю это и большое спасибо! – FelixMLians

Смежные вопросы