这更多的是化妆品问题。
我已经通过情节提要添加了一个搜索栏,我想用情节提要隐藏以下内容。
我以前可以使用故事板出现之前的代码来做到这一点。
如果使用情节提要可以实现,谁能指出我正确的方向?
干杯,兰斯
这更多的是化妆品问题。
我已经通过情节提要添加了一个搜索栏,我想用情节提要隐藏以下内容。
我以前可以使用故事板出现之前的代码来做到这一点。
如果使用情节提要可以实现,谁能指出我正确的方向?
干杯,兰斯
在故事板上,选择搜索栏并打开右侧的对象检查器。在它们中,您会发现一个名为“隐藏”的属性。选中该框,在情节提要初始化时该对象将被隐藏。
如果您从搜索栏中按住 ctrl 并在视图控制器中创建一个属性,则可以控制代码中的隐藏标志。因此,您可以在需要时让它重新出现,例如:
self.searchbar.hidden = NO;
2013 年 1 月 2 日编辑 - 这是一种不同的方法。清单:
a) 在情节提要的表格视图的标题视图中添加一个搜索栏。将该搜索栏链接到名为 searchBar 的属性。当你链接它时,xcode 会给它一个弱引用,把弱引用改成强引用。前任:
@property (strong, nonatomic) IBOutlet UISearchBar *searchBar;
b) 添加一个名为 showSearch 的 BOOL 属性来控制搜索栏的显示和隐藏。
@property (nonatomic) BOOL showSearch;
c) 将以下方法添加到您的控制器代码中
- (void)setShowSearch:(BOOL)showSearch {
_showSearch = showSearch;
if (! _showSearch) {
self.tableView.tableHeaderView = nil;
}
[self.tableView reloadData];
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection: (NSInteger)section
{
if (self.showSearch && self.tableView.tableHeaderView == nil) {
return self.searchBar.frame.size.height;
}
return 0;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (self.showSearch && self.tableView.tableHeaderView == nil) {
return self.searchBar;
}
return nil;
}
默认情况下,这将从显示搜索栏开始。如果您想从隐藏开始,只需将以下内容添加到您的 viewDidLoad 方法中:
self.showSearch = NO;
祝你好运,新年快乐!