我的应用程序启动时需要UIToolbar
。它将在整个应用程序的每个屏幕上显示。因此,我已将其添加到RootViewController
。
#import "AppDelegate.h"
#import "MainViewController.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize mainViewController = _mainViewController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease];
// Override point for customization after application launch.
self.mainViewController = [[[MainViewController alloc]init]autorelease];
self.window.rootViewController = self.mainViewController;
[self.window makeKeyAndVisible];
return YES;
}
目前我有UIToolbar in MainViewController
// create the UIToolbar at the bottom of the MainViewController
toolbar = [UIToolbar new];
toolbar.barStyle = UIBarStyleBlackOpaque;
// size up the toolbar and set its frame
toolbar.frame = CGRectMake(0, 425, 320, 40);
[self.view addSubview:toolbar];
在我所有的其他UIViewControllers
中,我就像这样添加
[self.view addSubview:toolbar];
我不想要。我希望UIToolbar
在将UIViewControllers
附加到rootviewcontroller
之后自动显示在UIViewController
中。这样当我翻转UIViewController
以更改为另一个UIViewController
时。只有UIToolbar
才能翻转UIToolbar
。现在UIViewController
也会翻转rootviewcontroller
。这就是我想将它附加到UIToolbar in APPDelegate
的原因。
那么如何添加rootviewcontroller
文件并将其附加到{{1}}。
感谢您的帮助。
答案 0 :(得分:2)
除非您创建UIToolbar,否则您的代码中的所有内容都会显得正常,因为出于某种原因,您可以创建自己的语法。这是你创建UIToolBar
的方法示例:
UIToolbar *toolBar = [UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44);
说真的,你的代码不会编译,你会知道究竟是什么行。连接点和Google如何创建UIToolbar。
编辑:
要在每个视图中显示工具栏,您有几个选项:
(1)你确定你不想要一个UINavigationController& UINavigationBar的?
(2)将其附加到UIWindow(即向窗口添加两个子视图)。这必须使用代码创建,我不相信界面构建器会起作用。
(3)只需在每个视图加载时创建它(init或viewDidLoad方法)
好的,所以你必须将工具栏添加到每个视图控制器(即addSubView)。唯一的另一种方法是向AppDelegate添加两个子视图。
答案 1 :(得分:1)
我不相信你说
toolbar = [UIToolbar new];
另外,你有没有用Google搜索过如何以编程方式制作UIToolbar?
答案 2 :(得分:1)
只有UIViewController不应该翻转UIToolbar.Right现在UIToolbar是 也可以用UIViewController翻转。所以这就是我想要的原因 将它附加到rootviewcontroller。
我可以想到两种方法:
使用导航控制器提供的工具栏。您不应该尝试直接访问该工具栏 - 使用UIViewController的-setToolbarItems:animated:
方法为每个视图控制器设置所需的项目。如果为每个视图控制器提供相同的工具栏项集,您将获得您所追求的外观。在我的快速实验中,我确实注意到了轻微的闪烁,但这是为所有视图获取标准工具栏的一种非常快速简便的方法。
创建自己的容器控制器。随着iOS 5的引入,我们能够编写自己的容器控制器,即可以在其自身内部托管其他视图控制器的视图控制器,就像UINavigationController和UITabBarController一样。因此,您可以轻松编写自己的容器并让它托管您的工具栏。听起来这就是你已经尝试过的,但你必须意识到你没有自动获得这个功能。