Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Objective c 如何在Interface Builder中使用故事板连接页面视图控制器的数据源出口_Objective C_Interface Builder_Uistoryboard_Uipageviewcontroller - Fatal编程技术网

Objective c 如何在Interface Builder中使用故事板连接页面视图控制器的数据源出口

Objective c 如何在Interface Builder中使用故事板连接页面视图控制器的数据源出口,objective-c,interface-builder,uistoryboard,uipageviewcontroller,Objective C,Interface Builder,Uistoryboard,Uipageviewcontroller,根据苹果的文档,我们应该能够在故事板中添加一个页面视图控制器,然后通过连接插座来选择设置数据源 使用情节提要创建页面视图控制器界面 基于页面的应用程序Xcode模板创建一个新项目,其中页面视图控制器作为初始场景 要将页面视图控制器添加到现有情节提要,请执行以下操作: 将页面视图控制器从库中拖出。将页面视图控制器场景添加到情节提要 在属性检查器中,设置适当的选项 (可选)通过连接相应的出口设置代理、数据源或两者 通过在属性检查器中选择“是初始视图控制器”选项,将其显示为第一个视图控制器(或以另一种

根据苹果的文档,我们应该能够在故事板中添加一个页面视图控制器,然后通过连接插座来选择设置数据源

使用情节提要创建页面视图控制器界面 基于页面的应用程序Xcode模板创建一个新项目,其中页面视图控制器作为初始场景

要将页面视图控制器添加到现有情节提要,请执行以下操作:

  • 将页面视图控制器从库中拖出。将页面视图控制器场景添加到情节提要
  • 在属性检查器中,设置适当的选项
  • (可选)通过连接相应的出口设置代理、数据源或两者
  • 通过在属性检查器中选择“是初始视图控制器”选项,将其显示为第一个视图控制器(或以另一种方式在用户界面中显示视图控制器)
  • 然后我定义了一个UIPageViewController子类,如下所示

    @interface DetailsPageViewController : UIPageViewController <UIPageViewControllerDataSource>
    
    @接口详细信息SpageViewController:UIPageViewController
    
    但是,当我尝试连接数据源出口时,它没有突出显示控制器或允许连接它。我还尝试在其他控制器上实现UIPageViewControllerDataSource,但我遇到了同样的问题,即无法连接插座


    有人能帮忙吗?

    我在IB中找不到一种方法。我必须使用以下方法:

    self.delegate=self;
    self.dataSource=self;
    

    请注意,Apple文档说明UIPageViewController通常不是子类。您的
    UIPageViewControllerDataSource
    不需要是视图控制器的子类。您可以使其成为NSObject的子类

    通常情况下,只有出现在情节提要上的内容,即UI元素,才会在出现在情节提要左侧的文档大纲中列出(前提是它没有被隐藏)。如果您的代理/数据源不在那里,您可以通过将“对象”(黄色立方体)拖动到相应场景中的文档大纲中,将其放置在那里


    然后单击刚才添加的对象,并使用Identity Inspector窗格将其具体类更改为数据源类。然后,通过从Connections inspector中将一条线拖动到它上,它可以以正常方式用作连接的目标。

    您是否确实尝试过UIPageViewController。如果您知道我的问题的答案,请在我的问题中具体说明您是如何做到的。@TerrenceTan是的,我知道。你试过我的解决方案吗?我已经编辑了我的答案。我希望这能提供更清晰的答案。谢谢你编辑的答案。我现在可以通过添加“Object”来跟踪它。现在说:“这个类通常按原样使用,但可能在iOS 6和更高版本中被子类化。”我使用了您的答案,但还必须通过UIPageViewController类的SetViewController:设置初始视图控制器,以使其正确显示。我在xcode 7.3中看到了同样的情况。无论如何都不要让IB允许您建立连接。我真的不明白另一个答案,因为故事板上已经有了一切,IB只是不允许我建立连接。