Iphone 具有多个UIView的一个UIViewController
我正在创建一个包含一个UIViewController和多个UIView的应用程序。我有一个MainViewController,它下面有一个加载时显示的UIView,还有一些其他UIView都在MainWindow.xib中。如何从一个视图切换到下一个视图 更新: 谢谢你的回复 我已将MainViewController添加到我的appDelegate 完成启动时:Iphone 具有多个UIView的一个UIViewController,iphone,objective-c,xcode,ipad,Iphone,Objective C,Xcode,Ipad,我正在创建一个包含一个UIViewController和多个UIView的应用程序。我有一个MainViewController,它下面有一个加载时显示的UIView,还有一些其他UIView都在MainWindow.xib中。如何从一个视图切换到下一个视图 更新: 谢谢你的回复 我已将MainViewController添加到我的appDelegate 完成启动时:[窗口添加子视图:[视图控制器视图]] 该视图控制器中有一个名为goToNextPage的函数 -(IBAction)goToNe
[窗口添加子视图:[视图控制器视图]]代码>
该视图控制器中有一个名为goToNextPage的函数
-(IBAction)goToNextPage:(id)sender{
[self.view removeFromSuperview];
[self.view addSubview:tableOfContents];
}
在Interface Builder中,我将该视图控制器添加到MainWindow.xib中。在该视图控制器下,我有一个UIView(称为Cover),它在启动时作为子视图加载,还有另一个UIView(最终是多个),它自己命名为TableOfContents
我试图在这里发布我的MainWindow.xib的图片,但显然我的声誉不够高
UIView封面上有一个链接到goToNextPage功能的按钮
当我点击按钮时,页面变为空白,好像一个视图被成功删除,但下一个视图没有被加载
如何让goToNextPage函数将预加载的UIView封面与另一个名为TableOfContents的UIView进行切换
另一次编辑:
BookTest6AppDelegate.h:
#import <UIKit/UIKit.h>
@class MainViewController;
@interface BookTest6AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
IBOutlet MainViewController *viewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet MainViewController *viewController;
@end
}
MainViewController.h
#import <UIKit/UIKit.h>
@class TableOfContents;
@interface MainViewController : UIViewController {
IBOutlet TableOfContents *tableOfContents;
}
@property (nonatomic, retain) IBOutlet TableOfContents *tableOfContents;
-(IBAction)fGoToTableOfContentsController:(id)sender;
-(IBAction)fGoToNextPageController:(id)sender;
@end
我的UIView类基本上只是启动链接到MainViewController.h中定义的函数的按钮。首先,您需要知道从一个切换到另一个的时间
然后你对你的主控制器说,并将子视图添加到主控制器。查看另一个视图
如果您提供更多信息或代码,我们可能会对您提供更多帮助:-)
祝你好运
文森特
编辑:
[self.view removeFromSuperview];
[self.view removeFromSuperview];
这里您正在删除窗口视图。我认为这不是更好的办法
[ viewController.view removeFromSuperview ];
[viewController.view removeFromSuperview];:-)
它工作得更好吗
编辑:
编辑:韩,这是我的错。您需要删除控制器,并在应用程序委托中添加另一个控制器,而不是在主控制器中(您也可以这样做,但不能使用实际代码)。
您有两个选择:
1°)在应用程序代理中声明所有控制器。
2°)在一个主控制器中声明所有控制器。但是主控制器将在这里“控制”其他控制器。如果您想再看一看,我修改了我的问题。ThanksI在另一次编辑中留下了我的大部分代码。根据您的示例,我必须启动另一个viewController对象。是这样吗?我想你不明白的是,当添加控制器的视图时,如何删除控制器。要添加他的视图,您需要执行以下操作:addSuview:controller.view,但要删除,您需要执行[controller.view removeFromSuperview](以及可能的[controller release if needed]),然后添加其他控制器视图^^
[self.view removeFromSuperview];
[ viewController.view removeFromSuperview ];