将导航控制器放在UIScrollView中

时间:2016-11-24 20:03:16

标签: objective-c swift uiscrollview uinavigationcontroller

我有一个UIScrollView,它包含三个UIViewControllers,因此我可以像SnapChat中的视图设置一样在它们之间滑动。

在我的UIScrollView右侧的ViewController中,我希望用户能够选择内容,然后导航到新页面。所以基本上我希望最右边的UIViewController是一个带导航栏的导航控制器,而我从这个页面导航到的View Controllers也应该有一个导航栏和一个Back按钮作为标准左上角的UIBarButtonItem。

我按照常规方式进行操作,只需使用View Controller并选择“嵌入导航控制器”并查看它看起来正确的故事板,但如果我运行它,则视图控制器顶部没有导航栏

我将导航栏的可见性设置为“显示导航栏”,但仍然没有。

任何帮助表示赞赏

修改

问题很可能与我如何将视图控制器添加到UIScrollView有关,如下所示:

{{1}}

所以我只是添加了视图。那么如何将其添加为导航控制器?或者可以做到吗?

2 个答案:

答案 0 :(得分:0)

您遇到的问题是您是在滚动视图中直接添加view controller,但是应在navigation controller内添加ScrollView。 因此,请转到故事板,为附加到StoryboardID的navigationController创建SettingsViewController,然后将SettingViewController ID替换为您的navigationController's漫游板ID。

答案 1 :(得分:0)

也许使用addChildViewController

- (void)transitionFromViewController:(UIViewController *)fromViewController toViewController:(UIViewController *)toViewController duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^ __nullable)(void))animations completion:(void (^ __nullable)(BOOL finished))completion NS_AVAILABLE_IOS(5_0);