#iphone
#iPhone
Вопрос:
У меня есть textLabel, detailTextLabel, пользовательский переключатель в ячейке tableview. Я хочу настроить их положение. Как я могу это сделать? Я уже отрегулировал высоту ячейки.
UISwitch *switchView = [[UISwitch alloc] initWithFrame:CGRectMake(200, 10, 50, 30);
cell.accessoryView = switchView;
Приведенный выше код не работает для switch. Он всегда отображается в одной и той же позиции.
Ответ №1:
Вы можете настроить свою собственную UITableViewCell, например, MyTableViewCell, и настроить элементы управления в layoutSubviews.
например:
- (void)layoutSubviews {
[super layoutSubviews];
// Adjust size
self.imageView.bounds = CGRectMake(0,0,44,44);
// Adjust position
self.textLabel.frame = CGRectMake(self.textLabel.frame.origin.x,
self.textLabel.frame.origin.y - 10,
self.textLabel.frame.size.width,
self.textLabel.frame.size.height);
}
Ответ №2:
Вам нужно будет добавить его в качестве подзаголовка в представление содержимого ячейки следующим образом:
[[cell contentView] addSubView:switchView];
и x, y SwitchView должны быть относительно tableViewCell.
Комментарии:
1. Я добавил [[cell contentView] addSubview:SwitchView]; но это не имеет никакого значения.
2. Вы закомментировали строку cell.accessoryView?
3. Я забыл удалить эту строку. Теперь я работаю для switch. Как насчет текста и подробного текста?
4. @user698200 Аналогично, [[cell contentView] добавляет subview:detailTextLabel]