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
然后将此代码放在我的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];
您可能还需要添加类似这样的内容,以防止searchBar位于tableView之上.
    self.tableView.frame = CGRectMake(0.0, 44.0, 320, 324);
就我而言,当我深入到详细视图时,searchBar仍然在视图中.我不得不打电话:
    self.mySearchBar.hidden = YES;`
在我的didSelectRowAtIndexPath中,当我点击一个单元格时摆脱它.
| 归档时间: | 
 | 
| 查看次数: | 3751 次 | 
| 最近记录: |