我正在开发一个具有多个视图的应用程序。我有一个在 xlib 文件中创建的图像库模板。此视图将作为滚动视图中的单个页面加载。我可以使用以下内容从 xlib 多次加载视图:
- (void)registerForKeyboardNotifications
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWasShown:)
name:UIKeyboardDidShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden:)
name:UIKeyboardWillHideNotification object:nil];
}
- (id)initWithFrame:(CGRect)frame
{
self = [[[NSBundle mainBundle] loadNibNamed:@"GSEstimateView" owner:self options:NULL] lastObject];
self.commentText.delegate = self;
self.scrollView.delegate = self;
self.commentText.delegate =self;
[self registerForKeyboardNotifications];
return self;
}
我面临的第一个问题是,当显示键盘时,keyboardWasShown: 方法被我创建的 UIViews 调用。如果我尝试从第二个 UIView 加载键盘,则会出现调用无效选择器的异常。UIView 是从 nib 还是 xlib Singleton 加载的?如果我从 nib 文件加载 UIView 实例,如何通知它?