在视图控制器之间导航的按钮

Posted

技术标签:

【中文标题】在视图控制器之间导航的按钮【英文标题】:Buttons to navigate between view controllers 【发布时间】:2014-05-22 14:52:03 【问题描述】:

我一直在寻找一种方法来解决我几天来一直遇到的问题,但经过多次谷歌搜索和在这里搜索后,我仍然无法解决它。我对 ios 编程非常陌生,但参加了为期 4 周的“速成课程”并学到了一些东西。

所以目前我设置了三个视图控制器,并希望使用按钮在每个视图控制器之间进行切换,这样如果用户在第一页,他们可以转到第二页或第三页,然后从该页返回到其中一个他们想要的页面。

这是我在第一个视图控制器中的内容:

#import <UIKit/UIKit.h>
#import "Galleries.h"
#import "JotForm.h"

@interface MainView : UIViewController

@property (strong, nonatomic) IBOutlet UIButton *galleryButton;


@end

然后在实现文件中我有这个来处理切换到新视图。

- (IBAction)galleryButton:(id)sender 
Galleries *gallery = [[Galleries alloc]initWithNibName:@"Galleries" bundle:nil];
[self.navigationController pushViewController:gallery animated:YES];

到目前为止,当我运行程序时它会启动,但是当我单击图库按钮时它什么也不做。如何让它切换到下一个视图?我没有使用导航控制器,因为我想在每个视图的应用程序顶部都有三个按钮,但不知道如何使用导航控制器来做到这一点。本质上,我不希望在从一页切换到另一页时使用任何后退按钮。

感谢任何人提供的任何帮助。

【问题讨论】:

听起来像UITabbarController 会更适合你而不是按钮来导航 听起来您并不了解视图控制器是什么以及您的选择是什么。我的讨论可能会对你有所帮助:apeth.com/iOSBook/ch19.html 【参考方案1】:

当我单击图库按钮时,它什么也不做……我没有使用导航控制器

嗯,这就是你的问题。您正在向 self.navigationController 发送消息,但它是 nil(因为正如您所说,您没有消息)所以什么也没有发生。

如果你不想要导航控制器,那么我建议使用presentViewController:...;没有导航控制器就无法推送。

【讨论】:

是否可以添加编码以使新的视图控制器从左侧或右侧加载,而不是看起来好像从底部出现? 您可以获得一些其他动画选项,或者(在 iOS 7 中)您可以编写自己的自定义过渡动画并做任何您想做的事情。 我该怎么做呢?我对这一切的经验很少。 你看过我给你的网址了吗?教你这一切。 啊不,抱歉,我什至没有意识到这一点,但感谢我是一名 EE 专业的学生,​​在暑假期间尝试学习 iOS 编程作为一种爱好。有什么其他建议可以帮助我学习吗?

以上是关于在视图控制器之间导航的按钮的主要内容,如果未能解决你的问题,请参考以下文章

使用导航栏按钮项和核心数据在视图控制器之间传递日期

Swift - 在 UIPageViewController 中的 3 个不同视图控制器之间导航按钮

使用导航控制器在视图之间导航

如何从“菜单”视图控制器在现有 UIViewControllers 之间导航?

在屏幕之间导航

在视图控制器之间切换时保留按钮状态