好的,我刚刚输入了整个问题,然后设法将其删除。叹。无论如何,标准披露是我到处搜索并将我的头撞在键盘上并且无法弄清楚这一点。
我正在基于实用程序应用程序模板(带有 MainViewController 和 FlipsideViewController)构建一个基本应用程序。旁注:我仍然不明白 MainView 和 FlipsideView 在这个方案中的目的,所以如果有人能解释它就不会太糟糕了:D
无论如何,在这两个视图的底部我想要一个工具栏。使用 IB 将其添加到给定视图很容易,但我希望工具栏有自己的控制器和模型,因为我想在两个视图中保持其状态一致。因此,我想从笔尖加载该视图,但似乎我做错了什么。我遵循了这里的建议:NSViewController and multiple subviews from a Nib但显然把它搞砸了,所以更深入的了解将不胜感激。
我做了以下事情:我创建了 ToolBarViewController,它基本上是空的,但它是 ToolBar.xib 的文件所有者。在 ToolBar.xib 内部,我有一个带有工具栏大小的框架的视图,并且在工具栏内部有一个工具栏。在 MainView.xib 中,我有一个相同大小的视图元素,它连接到下面代码中的 toolBarView...
在 MainViewController.h 中:
#import "ToolBarViewController.h"
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate, MKMapViewDelegate> {
...
ToolBarViewController *toolBarViewController;
IBOutlet UIView *toolBarView;
}
...
@property(nonatomic, retain) ToolBarViewController *toolBarViewController;
@property(nonatomic, retain) IBOutlet UIView *toolBarView;
在 MainViewController.m 中:
@synthesize toolBarViewController;
@synthesize toolBarView;
- (void)loadView
{
[super loadView];
toolBarViewController = [[ToolBarViewController alloc] initWithNibName:@"ToolBar" bundle:nil];
[[toolBarViewController view] setFrame:[toolBarView frame]];
[[self view] replaceSubview:toolBarView with:[toolBarViewController view]];
}
当我构建和运行时,我收到上面最后一行的警告,即“UIView”可能不会响应“replaceSubview:with”,并且在运行它时会引发以下异常:*** -[MainView replaceSubview:with:]: unrecognized选择器发送到实例 0x450c540
谁能解释我做错了什么?谢谢