iOS - 未调用Scroll View / Paging Delegates / DataSource

时间:2012-10-02 14:42:57

标签: objective-c ios delegates datasource paging

我正在使用UIScrollView进行分页,我注意到我没有后续的视图来调用它们的数据源/委托。我把它作为数据源/委托连接到他们的XIB中,并将其放在代码中以这种方式设置,但它仍然没有被调用。

我猜这个问题就在这里......我在做分页并插入第二和第三个视图。委托/数据源都不能处理被分页的第二或第三个视图。

requestDetailTwoViewController *controller = [viewControllers objectAtIndex:1];

requestDetailThreeViewController *controller2 = [viewControllers objectAtIndex:2];
if ((NSNull *)controller == [NSNull null])
{
    if(page == 1)
    {

        controller = [[requestDetailTwoViewController alloc] initWithRequestNumber:[request objectForKey:@"RequestID"] forID:self.employeeIDfromHome];
        [viewControllers replaceObjectAtIndex:page withObject:controller];
        CGRect frame = scrollView.frame;
        frame.origin.x = frame.size.width * 1;
        frame.origin.y = 0;
        controller.view.frame = frame;
        [scrollView addSubview:controller.view];
    }
}

if ((NSNull *)controller2 == [NSNull null])
{
    if(page == 2)
    {
        controller2 = [[requestDetailThreeViewController alloc] initWithRequestNumber:[request objectForKey:@"RequestID"]];
        [viewControllers replaceObjectAtIndex:page withObject:controller2];
        [self addChildViewController:controller2];
        CGRect frame = scrollView.frame;
        frame.origin.x = frame.size.width * 2;
        frame.origin.y = 0;
        controller2.view.frame = frame;
        [scrollView addSubview:controller2.view];
        [controller2 didMoveToParentViewController:self];
    }

}

谢谢!

1 个答案:

答案 0 :(得分:0)

在您的课程中,您是否设置了协议的提示,如

@interface myClass : UIViewController <UIScrollViewDelegate> {
...

稍后,在viewDidLoad

self.myScrollView.delegate = self;