【问题标题】:Adding toolbar to UIView using XIB使用 XIB 将工具栏添加到 UIView
【发布时间】:2026-02-19 17:10:02
【问题描述】:

我正在为 iPad 做一个基于标签栏的应用程序的简单示例。我有一个负责标签管理的控制器:

@interface MainTabBarController : UITabBarController

和一些视图控制器传递给 MainTabBarController 如下:

@interface WorkspaceViewController : UIViewController

//

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    self.tabBarRootController = [[MainTabBarController alloc] initWithNibName:@"MainTabBarController" bundle:nil];
    UIViewController *workspaceController = [[[WorkspaceViewController alloc] initWithNibName:@"WorkspaceViewController" bundle:nil] autorelease];

    self.tabBarRootController.viewControllers = [NSArray arrayWithObjects:workspaceController, nil];
    self.window.rootViewController = self.tabBarRootController;
    [self.window makeKeyAndVisible];

    [workspaceController release];
    return YES;
}

WorkspaceViewController 有它自己的 xib 文件。使用这个 XIB 文件,我向工作区视图添加了一些控件,一切都很好。但是当我想添加(拖放到 xib 文件中)一个工具栏时,它不会在应用程序运行时出现。

这就是我的 WorkspaceViewController XIB 文件的样子:

工具栏通过插座与控制器连接(使用xib)。

您能说出可能是什么原因以及如何解决吗?我的工具栏必须仅在工作区视图可见时才可见,并且它应该只与工作区交互(工作区将负责一些绘图内容,工具栏将具有剪切、粘贴、复制等选项)

【问题讨论】:

  • 我看不出你所做的有什么问题。在 WorkspaceViewController 的 xib 文件中,您是否将工具栏视为画布左侧对象列表中主视图的子视图?

标签: ios


【解决方案1】:

您在调用autorelease 后再次释放workspaceController。

【讨论】: