[英]iPhone addSubview - subView doesn't scroll with UITableView
[英]Add subview to tableview which doesn't scroll
我正在使用 UITableViewController 并想添加一个搜索栏。
我的选项是[self.tableview addSubview:searchBar]
或self.tableview.tableHeaderView = searchBar
这两个选项都会沿着我理解的 tableview 的其余部分滚动搜索self.tableview.tableHeaderView = searchBar
。 但是有没有办法锁定元素,而不是使用 UIViewController 或在滚动时更改框架原点? 我正在考虑一种超越当前视图层次结构并在其上添加子视图的方法。
我尝试了相反的方法,将视图添加到超级视图并将其放在前面
[[self.tableView superview] addSubview:searchBar]; [[self.tableView superview] bringSubviewToFront:searchBar];
}
但它没有用。
UITableViewControllers
是UIViewControllers
,它们的主要视图属性是UITableView
。 因此这个UITableView
确实占据了所有的屏幕。
您正在寻找的方法是使用标准UIViewController
其视图是标准UIView
,并将您的UISearchBar
和UITableView
添加为它在IB中的子视图。
要做到这一点,只需:
@interface UITableViewController
更改为@interface UIViewController <UITableViewDelegate, UITableViewDataSource>
@property(nonatomic, retain) IBOutlet UITableView* tableView
属性到你的头文件,以及相关的@synthesize tableView;
执行中的声明。 不要忘记在您的dealloc
将此属性设置回nil
( self.tableView = nil
) 以获得良好的内存管理UITableView
实例链接到这个新创建的 IBOutlet。因此你仍然有一个 UITableView 但这不会是占据你所有屏幕的主视图; 相反,您可以根据需要布置 tableView 并使其仅占用屏幕的一部分,并将 UISearchBar 放置在其上方。
另一种方法是使用UISearchDisplayController
来管理您的 UISearchBar。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.