У меня есть UITableView, где ячейки берутся из UITableViewCell, созданного с помощью файла Interface Builder (xib).Изменение размера UITableViewCell не влияет на область касания
Проблема заключается в том, что сенсорная область ячейки не изменяется независимо от рамки ячейки. Есть ли способ исправить это?
- вид XIB размер 768x60 (потому что нужно поддерживать портрет, а)
- Содержание изменяет размер без проблем, но на ощупь область остается неизменной. Мой первоначальный размер ячейки от IB составляет 768x60, где новый размер 1024x60 (пейзаж).
- Клетка, однако, не выбирается, если сенсорная точка X находится между 768-1024)
Структуры IB установлены на следующее (проверьте изображение), я также попробовал несколько разных настроек.
Как это исправить? Вот журнал из метода layoutSubviews внутри класса UITableViewCell.
Код
- (void)layoutSubviews
{
NSLog(@"pre frame > %@ ",NSStringFromCGRect(self.contentView.frame));
[super layoutSubviews];
NSLog(@"post frame > %@ ",NSStringFromCGRect(self.contentView.frame));
}
Выход
pre frame > {{0, 0}, {748, 62}} // before calling [super layoutSubviews]
post frame > {{0, 0}, {1004, 62}} // after calling [super layoutSubviews]
* * Update * *
Я не мог понять, латание этот код до из-за сроков & следовательно I re created t он xib-файл с нуля (для большого контейнера, который включал UITableView, а не UITableViewCell), и проблема, похоже, исчезла. Спасибо всем, кто пытался помочь.
UITableView может менять рамки? – NANNAV
Проверять взаимодействие пользователя с 'UITableView' и' Cell' в XIB –
Один из надписей вашего стола, безусловно, короче в кадре, чем кадр вашей таблицы (в ландшафтном режиме). Вот почему сенсорная область не работает. Вам нужно правильно проверить весь кадр супервизора, поместив либо цвета фона, либо журналы, как вам угодно. – Divyu