0

我正在为我正在开发的程序寻求帮助。基本上,它包含两个视图。第一个视图有一个按钮,一个与之相关的操作将我带到我的下一个视图,其中有一个三个页面的滚动视图(如苹果给出的 PageControl 示例。)我正在使用导航控制器从第一个推送视图查看到第二个视图。但是在推送时,我无法滚动页面或使用页面控制或任何东西。它只是一个正常的视图。该代码与 pageControl 代码相同,并且可以作为单独的模块正常工作。但是,当我想将此 pageControl 代码与第一个视图和单击按钮集成时,它不起作用。请帮忙。

//此函数是针对根视图控制器中的按钮设置的操作。

-(IBAction) viewScrollPages:(id)sender{
UIViewController *controller = [[MyViewController alloc] initWithPageNumber:0];
[self.navigationController pushViewController:controller animated:NO];
[controller release];

}

- (id)initWithPageNumber:(int)page {
if (self = [super initWithNibName:@"MyViewController" bundle:nil]) {
    pageNumber = page;
}   
return self;

}

- (void)viewDidLoad {   
NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < kNumberOfPages; i++) {
    [controllers addObject:[NSNull null]];
}
self.viewControllers = controllers;
[controllers release];
// a page is the width of the scroll view
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, scrollView.frame.size.height);
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
scrollView.scrollsToTop = NO;
scrollView.delegate = self;
pageControl.numberOfPages = kNumberOfPages;
pageControl.currentPage = 0;
// pages are created on demand
// load the visible page
// load the page on either side to avoid flashes when the user starts scrolling
[self loadScrollViewWithPage:0];
[self loadScrollViewWithPage:1];
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1];
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber];
[super viewDidLoad];

}

4

1 回答 1

0

这听起来像您推送一个普通视图,它是滚动视图的子视图,而不是推送滚动视图本身。

于 2010-07-17T14:17:44.173 回答