0

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

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

#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,但即使我制作了它,我该如何将它们联系在一起?

谢谢!

4

3 回答 3

1

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

于 2012-06-16T14:38:54.180 回答
1

在 Objective-C 中,IBActions,甚至是普通的旧实例方法,都不是“监听”的,它们被连接(字面意思是在 Interface Builder 中)到一个按钮,当它被触摸时广播一个事件。要转到另一个视图,请查看 UINavigationController 的文档

无论 iOS、Xcode 或 SDK 版本如何,使用 IBAction 返回值(无论如何都是 a)声明的任何方法typedefvoid都会提醒界面构建器该方法现在可以连接到界面元素。在您的情况下,您将一个按钮拖到您的 XIB 的画布上。此时,在您的班级的连接选项卡下,您将其操作拖到事件发送者(在本例中为按钮)和中提琴,当笔尖未归档时,这一切都为您神奇地设置了。

于 2012-06-16T14:30:34.640 回答
1

您是否尝试在代码、情节提要或 IB 中执行此操作?您要针对哪个版本的 iOS?

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

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

于 2012-06-16T14:33:02.810 回答