如何使用 Storyboard 在 iOS 中的 UIViewController 之间切换
Posted
技术标签:
【中文标题】如何使用 Storyboard 在 iOS 中的 UIViewController 之间切换【英文标题】:How can I switch between UIViewControllers in iOS using Storyboard 【发布时间】:2013-08-28 11:18:42 【问题描述】:我正在将情节提要用于选项卡式应用程序。在特定选项卡中,我需要显示多个视图。我有一个包含两个按钮(上一个和下一个)的导航栏;当我单击下一步时,应用程序应显示下一个视图(新 UIViewController 而不是下一个选项卡),当我单击上一个时,应用程序应切换到上一个视图(新 UIViewController)但不离开选定的选项卡(选项卡栏应保持显示并具有相同的索引)。
我想更改所选 Tab 内的视图,有人有什么想法吗?
【问题讨论】:
请详细说明。当您按下下一步时,您是否要从下一个选项卡呈现视图但选择当前选项卡?或者你想呈现一个不同的视图,特定于当前标签?[self.tabBarController setSelectedIndex:1];
是你要找的东西???
我想在当前选项卡中呈现不同的视图。我想呈现一个新视图,但将 Tabbar 与选定的选项卡保持一致。
@ManchesterUnited:你为什么要这样?如果您要移动到下一个视图,它应该显示该选项卡被选中...
***.com/questions/16859692/…
【参考方案1】:
如果您真正指的是 UIView 而不是 UIViewControllers,那么您所要做的就是使用普通的 ctrl 和拖动方法将视图链接到您的 .m 文件。然后在点击按钮时创建一个 IBAction(ctrl 拖动按钮并在类型上点击操作)。然后下面会有一个方法,当点击按钮时会自动调用。您还必须创建要显示的第二个视图,并将其与 .m 文件链接。
所以在方法中:
//view1 the view you want to change, view2 the one you want to display
[_view1 setHidden:TRUE];
[_view2 setHidden:FALSE];
编辑:对于 UIViewController
这一切都可以通过 Interface Builder 完成。 Ctrl 单击 Suivant 按钮并将其拖到新的 UIViewController 上。然后单击 Modal 并在新的 UIViewController 中放置 Tab Bar 和 Top Bar。然后您必须再次设置它们,就像您在现有 UIViewController 上所做的一样。否则放置一个导航控制器,在检查器中将其设置为初始视图控制器,在 IB 中的 Tab Bar 控制器上按住 ctrl 拖动并将其设置为根视图控制器。这至少会为您创建顶部栏。但是您必须通过 ctrl click 并将其设置为 push 来编辑 suivant 按钮的操作。这就是我在 xcode 上快速复制您的项目时所做的,并且效果很好。您还可以通过转到新的 UIViewContoller 并执行以下操作来避免重复创建标签栏:
Editor ->Embed -> Navigation Controller
让我知道这是否有效:)
【讨论】:
我的意思是 UIViewController :) 对不起! @ManchesterUnited 完成,它现在应该可以工作了(通过重新创建标签栏,我也指当前的标签栏,但 Ayush 也建议的底部建议更好):) 它工作得很好谢谢,我添加了一个导航控制器,将它嵌入到 TabBar 中,我将其他 UIviewControllers 与导航控制器相关联,标签栏添加到第一个视图中,我创建了操作使它们显示其他 UIviewsControllers 的按钮。谢谢 isklikas 和谢谢 Ayush 的链接:)以上是关于如何使用 Storyboard 在 iOS 中的 UIViewController 之间切换的主要内容,如果未能解决你的问题,请参考以下文章
如何加载存在于 Xamarin.iOS 中的共享库项目中的第二个 Storyboard
IOS / Autolayout / Objective-C:在引用Storyboard中的元素的代码中创建约束