当我的应用程序启动时,我需要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在附加到rootviewcontroller后自动显示在我所有的其他UIViewControllers中。因此,当我翻转UIViewController以更改为另一个UIViewController时。只有UIViewController应该翻转,而不是UIToolbar.Right,现在UIToolbar也在与UIViewController翻转。这就是我想把它附加到rootviewcontroller上的原因。
那么,如何添加UIToolbar in APPDelegate文件并将其附加到rootviewcontroller。
谢谢你的帮助。
发布于 2012-05-20 05:52:53
代码中的一切看起来都没问题,除了在创建UIToolbar时,出于某种原因,此时您需要创建自己的语法。这就是创建UIToolBar的方法
示例:
UIToolbar *toolBar = [UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44);认真地说,您的代码不会编译,您将确切知道在哪一行。将这些点连接起来,并搜索如何创建UIToolbar。
编辑:
对于在每个视图中显示的工具栏,您有以下几个选项:
(1)确定不需要UINavigationController & UINavigationBar?
(2)将其附加到UIWindow (即在窗口中添加两个子视图)。这必须用代码来创建,我不相信界面生成器会起作用。
(3)只需在每个视图加载(init或viewDidLoad方法)时创建它
好的,所以你必须将工具栏添加到每个视图控制器(即addSubView)。唯一的另一种方法是向AppDelegate中添加两个subViews。
发布于 2012-05-20 05:29:05
我不相信你说的
toolbar = [UIToolbar new];另外,你有没有谷歌过如何以编程的方式创建UIToolbar?
发布于 2012-05-20 07:50:25
现在只有UIViewController应该翻转而不是UIToolbar.Right,UIToolbar也在与UIViewController翻转。这就是我想把它附加到rootviewcontroller的原因。
我可以想到两种方法来做到这一点:
-setToolbarItems:animated:方法为每个视图控制器设置所需的项。如果您为每个视图控制器提供相同的工具栏项集,您将获得您想要的外观。我确实注意到我的快速实验中有一点闪动,但这是为所有视图获取标准工具栏的一种非常快速和简单的方法。https://stackoverflow.com/questions/10668636
复制相似问题