ターン制のゲームで、現在参加しているすべての試合を表示する画面があります。このために3つのセクションを持つテーブルビューを使用しています。
次に、表示されているゲームの上部に「新しいゲームを開始」ボタンを追加します。表示されているゲームの下に、「ショップ」などのボタンがいくつか必要です。それらを配置することはできますが、スクロールしないので、テーブルビューに配置してスクロールする必要があります。
これを行うための最良の方法は何でしょうか?
ターン制のゲームで、現在参加しているすべての試合を表示する画面があります。このために3つのセクションを持つテーブルビューを使用しています。
次に、表示されているゲームの上部に「新しいゲームを開始」ボタンを追加します。表示されているゲームの下に、「ショップ」などのボタンがいくつか必要です。それらを配置することはできますが、スクロールしないので、テーブルビューに配置してスクロールする必要があります。
これを行うための最良の方法は何でしょうか?
UIView *headerContainer = [[UIView alloc]initWithFrame:CGRectMake(X, X, X, X)];
UIButton *btnHeader = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[headerContainer addSubview:btnHeader];
UIView *footerContainer = [[UIView alloc]initWithFrame:CGRectMake(X, X, X, X)];
UIButton *btnFooter = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[footerContainer addSubview:btnFooter];
tblView.tableHeaderView = headerContainer;
tblView.tableFooterView = footerContainer;
ボタンをどこに配置するかは正確にはわかりませんが、UITableViewには次の
@property(nonatomic, retain) UIView *tableHeaderView
ようなものがあります。tableViewの上部に配置してスクロールする場合は、必要なビューを作成してそのプロパティに配置します。
UITableViewには、tableHeaderViewプロパティとtableFooterViewプロパティがあります。カスタムビューにこの値を設定できます。
@property(nonatomic,retain) UIView *tableHeaderView; // accessory view for above row content. default is nil. not to be confused with section header
@property(nonatomic,retain) UIView *tableFooterView; // accessory view below content. default is nil. not to be confused with section footer
注:カスタムビューをtableHeaderView / tableFooterViewnプロパティに設定すると、その幅はテーブルビューの幅と同じ幅に変更されます
このコードのように、ナビゲーションコントローラービューにUIbuttonを追加します。
let createButton = UIButton.init(frame: CGRect.init(x: 0, y: self.view.frame.height-50, width: self.view.frame.width, height: 50))
createButton.backgroundColor = UIColor.orange
createButton.setTitle("Create", for: UIControlState())
createButton.addTarget(self, action: #selector(didTapCreate(_:)), for: .touchUpInside)
self.navigationController?.view.addSubview(createButton)
あなたの質問はそれほど明確ではありません..テーブルビューでは、プロパティプロパティ(非アトミック、保持)UIView*tableHeaderView;を指定しました。
@property(nonatomic、retain)UIView * tableFooterView;
そしてあなたもこれをチェックアウトすることができます
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
ここにビューを追加することもできます。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
これは、セクション間の高さに使用できます