6

自从我将 Xcode 4.4 升级到 4.5 后,我遇到了问题。当我启动我的应用程序时,我有一个搜索栏控制器,当我点击它时,键盘会像以前一样出现,但我不能用我的 Mac 键盘或模拟器键盘写东西。

但是,当我使用 ShareKit 按钮时,工具栏中会出现一个视图。如果我在显示此 ShareKit 视图后尝试使用我的搜索栏控制器,它会起作用!

这种方法被称为:

- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller

但是这个方法没有被调用,因为键盘没有响应,我不能输入文本。

-(BOOL)searchDisplayController:(UISearchDisplayController *)controller
shouldReloadTableForSearchString:(NSString *)searchString 
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller
shouldReloadTableForSearchScope:(NSInteger)searchOption

但是当我使用这种方法时:

- (IBAction)share:(id)sender
{
    if (!_url) {
    return;
}

    SHKItem *item = [SHKItem URL:_url title:@"Share this URL"];
    SHKActionSheet *actionSheet = [SHKActionSheet actionSheetForItem:item];

    // ShareKit detects top view controller (the one intended to present ShareKit UI)     automatically,
    // but sometimes it may not find one. To be safe, set it explicitly
    [SHK setRootViewController:self];

    [actionSheet showFromToolbar:self.navigationController.toolbar];
}

之后我可以使用搜索栏键盘。

有人可以帮我吗,因为它在 iOS 6 模拟器之前运行良好......

谢谢 !

编辑:非常感谢您的帮助!

我只是为我的 mainWindow.xib 窗口元素检查“启动时可见”,它就可以工作了!

希望这对其他人有所帮助!

4

1 回答 1

0

您需要正确设置委托。在 ViewDidLoad 中写下这一行

 SearchbarObj.delegate=self;

或在 xib 中设置与文件所有者的委托连接。

于 2013-04-22T07:06:39.970 回答