我的UIViewController
顶部有一个UIToolBar
,有3个按钮和一个UIView
,触摸时我必须更改控制器的视图。我该怎么做才能得到我的porpuse?提前谢谢。
答案 0 :(得分:2)
您可能希望使用类似UINavigationController
的内容来控制视图堆栈,然后让您的按钮调用Touch Up Inside
操作的其中一种方法:
pushViewController:animated:
popViewControllerAnimated:
popToRootViewControllerAnimated:
popToViewController:animated:
这是一个很好的uinavigationcontroller-tutorial。
答案 1 :(得分:2)
您需要为您设置的每个操作执行类似的操作。
在当前viewController的.h文件中:
#import "OtherViewController.h"
@interface MyViewController : UIViewController
{
OtherViewController *otherViewController;
}
@property(nonatomic, retain)IBOutlet OtherViewController *otherViewController;
然后在当前viewController的.m文件中,您需要为每个IBAction添加以下内容(在内部修饰)。
在.m文件的顶部添加:
@synthesize otherViewController;
然后进行IBAction并输入以下代码行以显示另一个视图:
[self presentModalViewController:otherViewController animated:NO];
在otherViewController
中,您可以使用以下方式解雇自己:
[self dismissModalViewControllerAnimated:NO];
注意:您需要做的另一件事是在Interface Builder中为您计划显示的每个视图创建一个UIViewController。然后,您需要进入身份检查器并将类设置为OtherViewController
。然后,您需要正常将IBOutlet链接到OtherViewController
。
有一个YouTube video tutorial涵盖了我上面提到的所有内容。这是一个很简单的入门方式。
答案 2 :(得分:2)
UiViewController
view属性是您看到的基本视图。它可以设置(替换为另一个)。所以用您创建的另一个视图替换ViewController
的视图对象。
UIView * customView = [[[UIView alloc] initWIthFrame:viewFrame] autorelease];
[self setView:customView];
此处self表示当前viewController
。