私のアプリは、iPhone のデフォルトのアドレス帳アプリのように見えます。アルファベットごとに、アドレス帳のセクション ヘッダー (A、B . .) が灰色のグラデーションの背景色で表示されます。そのデフォルトの色を他の色合いの色にオーバーライドすることは可能ですか?
質問する
4658 次
2 に答える
4
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
// create the parent view that will hold header Label
UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 25.0)];
// create the button object
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
headerLabel.backgroundColor = [UIColor blackColor];
headerLabel.opaque = NO;
headerLabel.textColor = [UIColor whiteColor];
headerLabel.highlightedTextColor = [UIColor whiteColor];
headerLabel.font = [UIFont boldSystemFontOfSize:20];
headerLabel.frame = CGRectMake(0.0, 0.0, 320.0, 22.0);
// If you want to align the header text as centered
//headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);
headerLabel.text = @"Name of header";
[customView addSubview:headerLabel];
return customView;
}
于 2010-07-28T05:52:56.367 に答える
1
UITableViewDelegateに次のメソッドを実装することにより、UITableViewのセクションヘッダーを置き換えることができます。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
新しい断面図が正しく表示されるように、heightメソッドも実装することをお勧めします。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
セクションヘッダーの色を変更するには、UIImageViewを含むUIViewと、セクションのテキストのUILabelを作成します。背景をどのように表示するかについて、UIImageViewに画像を追加します。
AFAIK、断面図のtintColorを操作することはできません。
于 2010-07-27T14:30:47.903 に答える