0

ボタンを外してscrollViewページを前後に変更しようとしていますか?現在、私が使用しているコードはシミュレーターで完全に機能しますが、デバイスに移動するとすぐに、時々機能しますか?なぜこれが起こるのか手がかりはありますか?

- (IBAction)changeScrollPage:(id)sender {

if (pageControlUsed)
{
    return;
}

CGFloat pageWidth = _scrollView.frame.size.width;
int page = floor((_scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
_pageControl.currentPage = page;

if ( sender == _rightBTN) {
    NSLog(@"right");

    page += 1;

    [_scrollView scrollRectToVisible:CGRectMake(page*_scrollView.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height) animated:YES];

} else if ( sender == _leftBTN) {
    NSLog(@"left");
    page -= 1;
    [_scrollView scrollRectToVisible:CGRectMake(page*_scrollView.frame.size.width, 0, self.view.frame.size.width, self.view.frame.size.height) animated:YES];
}

}

4

1 に答える 1

1

プロパティを使用することもできUIButton.tagます:

rightBTN.tag = 1;

leftBTN.tag = 2; 

if ( sender.tag == 1)

{

NSLog(@"right");


page += 1;
[_scrollView scrollRectToVisible:CGRectMake(page*_scrollView.frame.size.width,0,self.view.frame.size.width,self.view.frame.size.height) animated:YES];

}
else if ( sender.tag == 2)

{

NSLog(@"left");

page -= 1;

[_scrollView scrollRectToVisible:CGRectMake(page*_scrollView.frame.size.width0,self.view.frame.size.width, self.view.frame.size.height) animated:YES];

}
于 2012-09-18T11:06:48.900 に答える