Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 程序在scrollViewDidScroll处接收到信号exc_bad_访问_Iphone_Xcode_Uiscrollview_Uipagecontrol - Fatal编程技术网

Iphone 程序在scrollViewDidScroll处接收到信号exc_bad_访问

Iphone 程序在scrollViewDidScroll处接收到信号exc_bad_访问,iphone,xcode,uiscrollview,uipagecontrol,Iphone,Xcode,Uiscrollview,Uipagecontrol,在我的应用程序中,我尝试使用页面控制器进行滚动查看。pageController正在工作,但scrollView不工作。当我试图转到下一页时,我总是在第[自加载ScrollViewWithPage:page]行获得程序接收信号exc\u bad\u access 从方法scrollViewDidScroll 我看不出我的目标在哪里。请看这个代码 - (void)viewDidLoad { [super viewDidLoad]; [self getVehicules];

在我的应用程序中,我尝试使用页面控制器进行滚动查看。pageController正在工作,但scrollView不工作。当我试图转到下一页时,我总是在第
[自加载ScrollViewWithPage:page]行获得
程序接收信号exc\u bad\u access

从方法
scrollViewDidScroll

我看不出我的目标在哪里。请看这个代码

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self getVehicules];

    vosvehiculeScrollView.pagingEnabled = YES;
     vosvehiculeScrollView.contentSize = CGSizeMake(vosvehiculeScrollView.frame.size.width * pageControlVehiculePossedee.numberOfPages, vosvehiculeScrollView.frame.size.height);
    vosvehiculeScrollView.showsHorizontalScrollIndicator = NO;
    vosvehiculeScrollView.showsVerticalScrollIndicator = NO;
    vosvehiculeScrollView.scrollsToTop = NO;

    pageControlVehiculePossedee.numberOfPages=[vehiculesPossede count];
    pageControlVehiculePossedee.currentPage=0;
    [pageControlVehiculePossedee addTarget:self action:@selector(pageAction:) forControlEvents:UIControlEventValueChanged];

    for (int i=0; i<pageControlVehiculePossedee.numberOfPages;i++){
        [self loadScrollViewWithPage:i];
    }

}

- (void) loadScrollViewWithPage: (int) page {
    if (page < 0) return;
    if (page >= [vehiculesPossede count]) return;    

    CGRect frame = vosvehiculeScrollView.frame;
    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0;
    viewVehicules.frame = frame;
    [vosvehiculeScrollView addSubview:viewVehicules];

    NSLog(@"%d",page);

}

-  (void) scrollViewDidScroll: (UIScrollView *) sender {
    if (pageControlUsed) {
        return;
    }

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

    [self loadScrollViewWithPage:page - 1];
    [self loadScrollViewWithPage:page];
    [self loadScrollViewWithPage:page + 1];

}

- (void) scrollViewWillBeginDragging: (UIScrollView *) scrollView {
    pageControlUsed = NO;
}

- (void) scrollViewDidEndDecelerating: (UIScrollView *) scrollView {
    pageControlUsed = NO;
}

-(void)pageAction:(UIPageControl*)control
{       
    NSLog(@"page changed"); 

    int page = pageControlVehiculePossedee.currentPage;
    NSLog(@"page %d", page);

    CGRect frame;
    frame.origin.x = self.vosvehiculeScrollView.frame.size.width * self.pageControlVehiculePossedee.currentPage;
    frame.origin.y = 0;
    frame.size = self.vosvehiculeScrollView.frame.size;
    [self.vosvehiculeScrollView scrollRectToVisible:frame animated:YES];

    pageControlUsed = YES;
}
-(void)viewDidLoad
{
[超级视图下载];
[自行驾驶车辆];
vosvehiculeScrollView.paginabled=是;
vosvehiculeScrollView.contentSize=CGSizeMake(vosvehiculeScrollView.frame.size.width*PageControlVehiclePossedee.numberOfPages,vosvehiculeScrollView.frame.size.height);
vosvehiculeScrollView.showshorizontalscrollingindicator=NO;
vosvehiculeScrollView.showsVerticalScrollIndicator=否;
vosvehiculeScrollView.scrollsToTop=否;
PageControlVehicleSPossedee.numberOfPages=[VehicleSPossedeCount];
PageControlVehiclePossedee.currentPage=0;
[PageControlVehiclePossedee添加目标:自操作:@selector(pageAction:)for ControlEvents:UIControlEventValueChanged];
对于(int i=0;i=[VehiclesPassede count])返回;
CGRect frame=vosvehiculeScrollView.frame;
frame.origin.x=frame.size.width*页;
frame.origin.y=0;
viewVehicleus.frame=帧;
[虚拟车辆滚动视图添加子视图:查看车辆];
NSLog(@“%d”,第页);
}
-(无效)scrollViewDidScroll:(UIScrollView*)发送方{
如果(已使用页面控制){
返回;
}
CGFloat pageWidth=vosvehiculeScrollView.frame.size.width;
int page=floor((vosvehiculeScrollView.contentOffset.x-pageWidth/2)/pageWidth)+1;
PageControlVehiclePossedee.currentPage=第页;
[带页面的自加载滚动视图:第1页];
[带页面的自加载滚动视图:第页];
[self-loadScrollViewWithPage:page+1];
}
-(无效)scrollView将开始刷新:(UIScrollView*)scrollView{
pageControlUsed=否;
}
-(无效)ScrollViewDiEndDecelling:(UIScrollView*)scrollView{
pageControlUsed=否;
}
-(void)pageAction:(UIPageControl*)控件
{       
NSLog(@“页面已更改”);
int page=pageControlVehiclePossedee.currentPage;
NSLog(@“第%d页”,第页);
CGRect帧;
frame.origin.x=self.vosvehiculeScrollView.frame.size.width*self.pageControlVehiclePossedee.currentPage;
frame.origin.y=0;
frame.size=self.vosvehiculeScrollView.frame.size;
[self.vosvehiculeScrollView scrollRectToVisible:帧动画:是];
pageControlUsed=是;
}

什么是
viewVehicles
?是否尝试在Xcode调试器下运行调试生成?viewVehicles是xib文件上的一个视图,其维度与scrollView相同。在这个视图上,我必须放置两个标签和一个tableview。我想对每个页面使用此视图。页面的数量是可变的,所以我现在不知道我有多少视图。是否可以使用一个视图更改页面或滚动视图?