【问题标题】:iOS - Scroll View/Paging Delegates/DataSource not being callediOS - 未调用滚动视图/分页委托/数据源
【发布时间】:2023-04-08 15:56:01
【问题描述】:

我正在使用 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];
    }

}

谢谢!

【问题讨论】:

    标签: objective-c ios delegates datasource paging


    【解决方案1】:

    在你的课堂上,你是否为协议设置了提示

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

    然后,在你的viewDidLoad

    self.myScrollView.delegate = self;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-18
      • 2012-02-03
      • 2016-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 2016-08-04
      • 1970-01-01
      相关资源
      最近更新 更多