Необходимо добавить несколько элементов пользовательского интерфейса в табличное представление UITable в iOS
У меня есть UITableViewController, который имеет tableView. К этому табличному представлению я хотел бы добавить как метку, так и кнопку, но, к сожалению, я могу добавить только одну или другую.
Вот мой код, с которым я работаю:
- (void) viewDidLoad {
[super viewDidLoad];
selectAllButton = [UIButton buttonWithType:UIButtonTypeCustom];
[selectAllButton setFrame:CGRectMake(280, 0, 25, 25)];
[selectAllButton setImage:[UIImage imageNamed:@"CheckBox1.png"] forState:UIControlStateSelected];
[selectAllButton setImage:[UIImage imageNamed:@"CheckBox2.png"] forState:UIControlStateNormal];
[selectAllButton setUserInteractionEnabled:YES];
[selectAllButton addTarget:self action:@selector(buttonTouched:) forControlEvents:UIControlEventTouchUpInside];
selectAllLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 40)];
[selectAllLabel setTextColor:[UIColor blackColor]];
[selectAllLabel setBackgroundColor:[UIColor clearColor]];
[selectAllLabel setText:@"Select All"];
self.tableView.tableHeaderView = selectAllButton;
self.tableView.tableHeaderView = selectAllLabel;
}
Когда я запускаю описанный выше метод, я вижу только мой ярлык, который говорит мне, что он заменяет кнопку. Есть ли способ для меня, чтобы оба элемента отображались в виде заголовка таблицы?
2 ответа
Создайте UIView, добавьте свою кнопку и добавьте к ней метку в качестве подпредставлений, а затем сделайте так, чтобы ваше представление self.tableview.tableHeaderView
...your code
UIView *headerView = [UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, selectAllButton.frame.size.height + selectAllLabel.frame.size.height)];
[headerView addSubview:selectAllButton];
[headerView selectAllLabel];
self.tableView.tableHeaderView = headerView;
Когда вы начинаете свою кнопку и метку, не забудьте изменить кадр, так как они будут основаны на UIView
Поскольку tableHeaderView
является UIView
попробуйте добавить это с addSubview:(UIView*)
или создать UIView
и добавьте это как ваш tableHeaderView
,