Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Ios 通过序列,确定用户在哪个视图上,导航控制器按钮不出现_Ios_Xcode_Swift_Segue - Fatal编程技术网

Ios 通过序列,确定用户在哪个视图上,导航控制器按钮不出现

Ios 通过序列,确定用户在哪个视图上,导航控制器按钮不出现,ios,xcode,swift,segue,Ios,Xcode,Swift,Segue,很抱歉问了这么长时间,可能会让人困惑。在本文中,我的代码有两个主要问题,分别是:1-当我将ViewController嵌入UINavigationController并添加条形按钮项时,没有显示任何内容,但当我将其添加到pageViewController时,它会显示。其次,我想知道是否有不同的方法来实现这一点,使用pageView上的一个按钮(显示在其中的所有viewcontroller上),然后确定当用户按下按钮并被带到另一个viewcontroller时,他们在看什么 我正在尝试构建一个基

很抱歉问了这么长时间,可能会让人困惑。在本文中,我的代码有两个主要问题,分别是:1-当我将ViewController嵌入UINavigationController并添加条形按钮项时,没有显示任何内容,但当我将其添加到pageViewController时,它会显示。其次,我想知道是否有不同的方法来实现这一点,使用pageView上的一个按钮(显示在其中的所有viewcontroller上),然后确定当用户按下按钮并被带到另一个viewcontroller时,他们在看什么

我正在尝试构建一个基于页面的应用程序,我已经用7个视图控制器(一周中的每一天一个)设置了该应用程序。然后我有一个AddViewController,用户可以在其中添加数据到某一天。我想知道是否有办法只使用链接到PageViewController上导航栏的1个addView,因为当我嵌入所有其他ViewController并添加一个栏按钮时,它不会显示

随着pageViewController的嵌入,这就是它上面带有一个条形按钮的样子

这将导致:

这工作得很好,但是我想将数据传递到各种阵列(每个viewController一个),并且我想知道用户希望添加到哪个viewController(基于他们在哪一天)。是否有方法确定这一点,然后将其释放到viewController并将正确的数据附加到正确的数组中,还是应该为每个dayViewController添加一个addView?如果是这种情况,我会遇到这样一个问题:当条形按钮项嵌入到navigationController中时,它们不会出现在ViewController上。看起来是这样的:

情节提要:(示例:MondayViewController)

结果是缺少了一个芭比纽扣:(请记住,我将色调改为白色,这样可以看到它)

我想知道是否有人能回答我的任何一个问题,再次感谢您抽出时间在一个问题中研究这一系列问题

欢迎提出任何建议

Rowan,

您可以这样做:

创建一个
UINavigationViewController
,然后在其中嵌入一个
UIPageViewController

UIPageViewController的数据源中
实现以下两种方法:

- pageViewController:viewControllerBeforeViewController:
- pageViewController:viewControllerAfterViewController:
在这里,您将返回每个位置的
DayViewController
的正确实例(或者
nil
,如果您在第一页/最后一页)。您的数据模型也将在此处设置


将“添加”栏按钮添加到
UIPageViewController
的导航栏中,并让它按下
AddViewController
。按下
AddViewController
时,向其提供当前可见日期的信息。你可能需要自己跟踪这一点。使用
UIPageViewController
委托的
-pageViewController:didFinishAnimating:PreviousViewController:transitionCompleted:
方法。

不是答案,而是。。。。如果有一个视图控制器代表一周中的任何一天,并且只在一天发生变化时重新加载新数据,不是更简单吗?多个控制器通常意味着不同的可见结构,而不仅仅是内容。至于“将数据传递到各种数组”,通过使用一个数据模型对象来管理应用程序状态并作为控制器的参考,效果更好。谢谢您的建议。我有(就像你说的)一个视图控制器,代表一周中的每一天(7),数据在同一个类中,但是为了方便起见,我在该类中有不同的数组,它们是视图的数据源,但是我确实喜欢一个数据模型的想法。关于重新加载collectionView,我的目的只是在执行了unwind segue之后重新加载。实际上,我建议使用一个视图控制器来处理所有七天,而不是一天一个。(也就是说,一个控制器可以代表任何一天,如果结构保持不变,只有内容发生变化。)这意味着你不需要真正的页面,这可能会简化你试图解决的其他问题。