UISearchBar在风景中没有回应,但在iPad上的肖像很好

时间:2011-05-16 11:50:51

标签: iphone ipad uisearchbar first-responder

我在一个关于UISearchBar的应用程序中有一个错误。

使用代码:

    int width = 250;
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(768 - width - indent, companySelectionButton.frame.origin.y + (companySelectionButton.frame.size.height - 44)/2, width, 44)];
[searchBar setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin];
[searchBar setPlaceholder:[Globals localisedString:@"Search by Code or Name"]];
[searchBar setAutocorrectionType:UITextAutocorrectionTypeNo];
[searchBar setDelegate:self];
[self.view addSubview:searchBar];
[searchBar release];
[[searchBar.subviews objectAtIndex:0] removeFromSuperview];

搜索栏在两个方向上都处于我想要的位置,但它不会响应横向拍摄并成为第一响应者/显示键盘。

我已经尝试评论以下几行,看它是否有帮助,但它没有解决它:

[searchBar setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin];

[[searchBar.subviews objectAtIndex:0] removeFromSuperview];

其他人有类似的问题吗?

提前致谢:)

修改

评论出[searchBar setDelegate:nil];搜索栏能够成为所有方向的第一响应者。但当然我需要一个代表才能使用搜索栏!有任何想法吗???会不会继续玩,也许我会错过一些委托方法?

2 个答案:

答案 0 :(得分:1)

在willRotateToInterfaceOrientation中重新绘制搜索栏的框架可以解决问题。

答案 1 :(得分:0)

对不起大家,我发现我在searchBarTextDidBeginEditing委托方法中意外地做了一些奇怪的事情,如果设备处于横向状态,该方法将搜索栏重新作为第一响应者。

这个问题对任何人都没用,我应该删除吗?