如何让一个控制器的按钮动作转到另一个视图?

时间:2012-06-16 14:24:09

标签: ios

我刚刚完成了ios教程,虽然我现在可以操作单个屏幕,但我不知道如何实现“按钮监听器”并告诉该按钮转到我告诉它去的另一个视图。 / p>

到目前为止,这是我的代码:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property (weak, nonatomic) IBOutlet UIButton *homeToLearn;

- (IBAction)homeToPlanBusiness:(id)sender;
- (IBAction)homeToLearn:(id)sender;
- (IBAction)homeToMyPlans:(id)sender;
- (IBAction)homeToSettings:(id)sender;

@end

如何让其中一个按钮转到我制作的LeanController?我想我需要制作一个LearnView,但即使我做了这个,我怎么把它们绑在一起?

谢谢!

3 个答案:

答案 0 :(得分:1)

在Objective-C中,IBActions,甚至普通的旧实例方法都没有被“收听”,它们被连接(在Interface Builder中)连接到一个按钮,当按下它时广播一个事件。要转到另一个视图,请查看UINavigationController的documentation

无论iOS,Xcode或SDK版本如何,使用IBAction声明的任何方法返回值(无论如何都是typedef的{​​{1}}),界面构建器会收到警告,该方法现在可以被挂钩一个界面元素。在您的情况下,您拖动到XIB的画布上的按钮。此时,在您的类的连接选项卡下,将其操作拖动到事件发送者(在本例中为按钮)和中提琴,当笔记被取消归档时,它们都会为您神奇地设置。

答案 1 :(得分:1)

您是否尝试在代码中使用故事板或IB执行此操作?你试图定位哪个版本的iOS?

一般来说,有两种主要方法可以完成您想要做的事情。如果您希望它是“基于导航”,您可以在创建导航控制器以处理不同的视图控制器后执行以下操作: [self.navController pushViewController:newLeanController animated:YES]

如果您只是交换视图,则可以执行以下操作: [self.view addSubview:newLeanView]

答案 2 :(得分:1)

我不确定您经历过哪个iOS教程,但大多数教程都会向您介绍这些概念。将按钮链接到动作并在视图控制器之间转换的过程非常丰富,以至于它可以证明自己的整个教程(并且它们就在那里,例如Ray Wenderlich; Stanford; Lynda ;只是谷歌它,你应该获得大量的点击率,并且我们任何人都无法通过简单的答案回答你的问题。这更复杂,因为答案很大程度上取决于很多不同的问题(你使用ARC吗?你使用的是故事板吗?等等。)

相关问题