これは見た目の問題です。
ストーリーボードを介して検索バーを追加しましたが、ストーリーボードで次を非表示にしたいと考えています。
ストーリーボードが登場する前のコードを使用して、以前はこれを行うことができました。
これがストーリーボードを使用して達成できる場合、誰かが私を正しい方向に向けることができますか?
乾杯、ランス
これは見た目の問題です。
ストーリーボードを介して検索バーを追加しましたが、ストーリーボードで次を非表示にしたいと考えています。
ストーリーボードが登場する前のコードを使用して、以前はこれを行うことができました。
これがストーリーボードを使用して達成できる場合、誰かが私を正しい方向に向けることができますか?
乾杯、ランス
ストーリーボードで検索バーを選択し、右側のオブジェクト インスペクターを開きます。それらには、「hidden」と呼ばれるプロパティがあります。ボックスをオンにすると、ストーリーボードが初期化されるときにオブジェクトが非表示になります。
検索バーから Ctrl キーを押しながらドラッグし、View Controller でプロパティを作成すると、隠しフラグをコードで制御できます。したがって、次のように、必要なときに再表示させることができます。
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;
明けましておめでとうございます!