Des*_*ond 7 iphone xcode uisearchbar uisearchdisplaycontroller ios
一旦你点击搜索栏,任何人都知道如何调整暗淡的黑色大小?
我点击时有问题取消了tableview将消耗然后动画消失.
我用它来调整我的结果tableview.
-(void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
tableView.frame =fTableView.frame;//CGRectMake(26, 100, 280, 310); //fTableView.frame;
tableView.backgroundColor = [UIColor colorWithRed:243.0/255.0 green:236.0/255.0 blue:212.0/255.0 alpha:1];
}
Run Code Online (Sandbox Code Playgroud)
单击搜索栏时,灰色叠加层已满,而不是我定义的大小.
单击取消按钮时,视图将重新开始.
tom*_*n11 10
我结合了几个答案,以便移动暗淡的叠加帧.
1:覆盖UISearchDisplayController类
@interface MySearchController : UISearchDisplayController
Run Code Online (Sandbox Code Playgroud)
2:覆盖setActive函数
- (void)setActive:(BOOL)visible animated:(BOOL)animated
{
[super setActive: visible animated: animated];
//move the dimming part down
for (UIView *subview in self.searchContentsController.view.subviews) {
//NSLog(@"%@", NSStringFromClass([subview class]));
if ([subview isKindOfClass:NSClassFromString(@"UISearchDisplayControllerContainerView")])
{
CGRect frame = subview.frame;
frame.origin.y += 10;
subview.frame = frame;
}
}
}
Run Code Online (Sandbox Code Playgroud)
3:将xib/storyboard搜索显示控制器从UISearchDisplayController更改为MySearchController
我认为 searchDisplayController 拥有一个单独的表格视图,所以我的猜测是您需要调整该表格视图的大小。
大致如下:<yourSearchViewController>.view.frame =self.tableView.frame;
或者,如果您没有将其作为类变量,则在将其作为参数接收的方法中,例如:
-(void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView {
controller.view.frame = self.tableView.frame;
tableView.backgroundColor = [UIColor colorWithRed:243.0/255.0 green:236.0/255.0 blue:212.0/255.0 alpha:1];
}
Run Code Online (Sandbox Code Playgroud)
或者,您可能希望对其进行子类化并在本地覆盖其视图属性。
希望这可以帮助!
归档时间: |
|
查看次数: |
7587 次 |
最近记录: |