【发布时间】:2011-10-10 07:21:22
【问题描述】:
我需要一些帮助来实现在 pagecontroller 上更改页面的功能。我有一个 UIPageController ,页数是可变的。
这是我的代码:
.h**
@property (nonatomic, retain) IBOutlet UIScrollView *vosvehiculeScrollView;
@property (nonatomic, retain) IBOutlet UIPageControl *pageControlVehiculePossedee;
- (IBAction) changePage:(id) sender;
- (void) loadScrollViewWithPage: (int) page;
.m*
- (void)viewDidLoad
{
[super viewDidLoad];
[self getVehicules];
vosvehiculeScrollView.pagingEnabled = YES;
vosvehiculeScrollView.showsHorizontalScrollIndicator = NO;
vosvehiculeScrollView.showsVerticalScrollIndicator = NO;
vosvehiculeScrollView.scrollsToTop = NO;
pageControlVehiculePossedee.numberOfPages=[vehiculesPossede count];
pageControlVehiculePossedee.currentPage=0;
[self loadScrollViewWithPage:0];
votreVehiculeLabel.text=@"Votre véhicule";
vehiculesPossedesArray = [[NSMutableArray alloc] initWithObjects:@"Annee modele", @"Transmission",@"Carburant", nil];
}
- (void) loadScrollViewWithPage: (int) page {
if (page < 0) return;
if (page >= [vehiculesPossede count]) return;
tableViewVehiculesPossedes=[[UITableView alloc] initWithFrame:CGRectMake(3, 80, 315, 171) style:UITableViewStyleGrouped];
tableViewVehiculesPossedes.bounces=NO;
tableViewVehiculesPossedes.backgroundColor=[UIColor clearColor];
[tableViewVehiculesPossedes setDelegate:self];
[tableViewVehiculesPossedes setDataSource:self];
[self.vosvehiculeScrollView addSubview:tableViewVehiculesPossedes];
nameVehiculeLabel.text=[[vehiculesPossede objectAtIndex:page] valueForKey:@"modele"];
self.transmissionString=[[vehiculesPossede objectAtIndex:page]valueForKey:@"transmision"];
self.carburantString=[[vehiculesPossede objectAtIndex:page] valueForKey:@"carburant"];
self.anneeModelString=[[vehiculesPossede objectAtIndex:page] valueForKey:@"modele_annee"];
self.anneeString=[[vehiculesPossede objectAtIndex:page]valueForKey:@"annee"];
if(page==0){
NSLog(@"0");
}
else NSLog(@"1");
}
- (IBAction) changePage:(id) sender
{
NSLog(@"page changed");
/* CGRect frame;
frame.origin.x = self.vosvehiculeScrollView.frame.size.width * self.pageControlVehiculePossedee.currentPage;
frame.origin.y = 0;
frame.size = self.vosvehiculeScrollView.frame.size;
NSLog(@"current page %d",pageControlVehiculePossedee.currentPage);
[self.vosvehiculeScrollView scrollRectToVisible:frame animated:YES];*/
[self loadScrollViewWithPage:1];
pageControlUsed = YES;
}
我得到Program received signal: “EXC_BAD_ACCESS”。我应该如何实现 changePage 方法以使其正常?请帮忙..
提前谢谢...
【问题讨论】:
-
您在哪里收到
Program received signal: “EXC_BAD_ACCESS”?什么时候? -
我到达 [self loadScrollViewWithPage:1];从方法 changePage 当我选择页面控制器转到下一页时
-
vehiculesPossede有效吗?你在哪里设置的? -
是的,它是有效的。 vehiculesPossede 是我从 php 脚本收到的 NSArray
-
所以如果你在
[self loadScrollViewWithPage:1];之前和NSLog(@"page changed");之后调用[vehiculesPossede count],应用程序不会在[vehiculesPossede count]在线崩溃?
标签: iphone objective-c ios uipagecontrol