iPhone SDK:如何使用按钮切换视图?

3
我希望制作一个非常简单的iPhone应用程序:一个屏幕上只有一个按钮……当点击按钮时,将出现一个新的屏幕。就是这样。没有动画,没有其他的东西。
我已经尝试了无数次去使用导航栏示例项目实现这个目标……它确实可以实现,但前提是我必须使用一个带有表格的UINavigationController来进行点击等操作。我也尝试过在XCode中使用所有的骨架项目。
我曾经认为当我做到以下内容时,问题已经解决:
[[self navigationController] presentModalViewController:myViewController animated:YES];

但是如果没有UINavigationController,我就无法完成它。我只想要一个简单的例子。
非常感谢!
3个回答

7

一种方法是创建一个新的UIView,然后当按钮被按下时将该新的UIView添加为子视图,因此使其成为你看到的内容。

如果你将新的视图作为自己的UIView子类,则可以这样做。

LoginView *login = [[LoginView alloc] initWithFrame: rect];
[mainView addSubview: login];

6
[self presentModalViewController:myViewController animated:NO];

会弹出一个新的视图,没有任何动画。要将其关闭,在myViewController内执行以下操作:

[self dismissModalViewControllerAnimated:NO];

虽然我建议你使用漂亮的滑动动画(将NO更改为YES),并且是可以堆叠使用的。我认为这比创建新的UIView更好,但我可能是错误的。


1

正确的方法是使用 UINavigationController 设置您的项目。在根视图控制器中,在视图控制器的视图中添加按钮。然后在 viewDidLoad 中,注册来自您的按钮的 UIControlEventTouchUpInside 事件。接着,在您的事件回调函数中,调用:

[self.navigationController pushViewController:[[[SecondViewControllerClass alloc] initWithNib:nibName bundle:nil] autorelease]];

kdbdallas所建议的方法可以实现,但是你将无法获得漂亮的滑动效果,导航栏也不会自动更改并提供返回按钮给用户。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接