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 回答