ska*_*ner 4 iphone cocoa-touch uitableview
我的目标是在UITableView上方的视图中修复UISearchBar.当我在IB中进行设置然后构建时,表格视图会扩展以填充整个窗口,并且搜索栏不可见.如果我将UISearchBar作为UITableView的子视图,搜索栏会按预期显示,但这不是我想要的.我所追求的是,在用户选择一行后,我想显示一个详细视图,搜索栏仍然保留在屏幕上.所以我认为它需要是一个单独的子视图,而不是表格的一部分.但是出于某种原因,当它只是表格外的子视图时,我无法显示搜索栏.
你必须以编程方式执行此操作.这就是我最终做的事情.首先将以下内容添加到ViewController的.h文件中.
@interface YourViewController : UITableViewController <UISearchBarDelegate>
{
UISearchBar *mySearchBar;
}
@property (nonatomic, retain) UISearchBar *mySearchBar;
@end
Run Code Online (Sandbox Code Playgroud)
然后将此代码放在我的RootViewController的viewDidLoad方法中.
self.mySearchBar = [[[UISearchBar alloc]
initWithFrame:CGRectMake(0.0, 64.0, self.view.bounds.size.width,
44.0)] autorelease];
self.mySearchBar.delegate = self;
self.mySearchBar.showsCancelButton = YES;
self.mySearchBar.hidden = YES;
self.mySearchBar.tintColor = [UIColor lightGrayColor];
[self.navigationController.view addSubview: self.mySearchBar];
Run Code Online (Sandbox Code Playgroud)
您可能还需要添加类似这样的内容,以防止searchBar位于tableView之上.
self.tableView.frame = CGRectMake(0.0, 44.0, 320, 324);
Run Code Online (Sandbox Code Playgroud)
就我而言,当我深入到详细视图时,searchBar仍然在视图中.我不得不打电话:
self.mySearchBar.hidden = YES;`
Run Code Online (Sandbox Code Playgroud)
在我的didSelectRowAtIndexPath中,当我点击一个单元格时摆脱它.
| 归档时间: |
|
| 查看次数: |
3751 次 |
| 最近记录: |