使用 XIB 将工具栏添加到 UIView
Posted
技术标签:
【中文标题】使用 XIB 将工具栏添加到 UIView【英文标题】:Adding toolbar to UIView using XIB 【发布时间】:2013-04-13 13:18:25 【问题描述】:我正在为 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 文件中,您是否将工具栏视为画布左侧对象列表中主视图的子视图? 【参考方案1】:您在调用autorelease
后再次释放workspaceController。
【讨论】:
以上是关于使用 XIB 将工具栏添加到 UIView的主要内容,如果未能解决你的问题,请参考以下文章
使用 xib 将 tapGestureRecognizer 添加到自定义 UIView
如何将 UITableView 作为子视图添加到 xib 中的 UIView?
将 UIView 从 xib 添加到 UIScrollView