UIButtons в UITableViewCell для ipad

#iphone #objective-c #ipad #uitableview #uibutton

#iPhone #objective-c #iPad #uitableview #uibutton

Вопрос:

Я создал UIButtons в UITableViewCell. Он отображается правильно в iphone. Но когда я обновляю это приложение для iPad, UIButtons сдвигаются вправо и выходят за пределы таблицы. Вот мой код

 UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[button2 setFrame:CGRectMake(47.0f, 100.0f, 16, 16.0f)];

[button2 setImage:[UIImage imageNamed:@"Delete.png"] forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:button2];



return cell;
  

Ответ №1:

Вероятно, вам следует добавить кнопку в contentView ячейки, а не непосредственно в ячейку.

Вы также можете захотеть разместить начало кадра кнопки относительно размера кадра contentView установить маску автоматического изменения размера кнопки, чтобы она размещалась правильно в соответствии с размером ячейки (который может меняться в зависимости от типа устройства и / или ориентации интерфейса).

Комментарии:

1. Спасибо.. Он отображается правильно

2. привет, у меня похожая проблема, я добавил кнопку в представление содержимого ячейки, а также установил маски автоматического изменения размера, но проблема в том, что при запуске приложения правая кнопка не видна, как только я меняю ориентацию или нажимаю какую-либо другую кнопку, кнопка становится видимой… Можете ли вы подсказать, что мне следует делать?

3. Возможно, для вас было бы лучше задать новый вопрос только для этого и, возможно, включить в него код для вашего метода cellForRowAtIndexPath: .

Ответ №2:

Пожалуйста, попробуйте это. В вашем коде удалите [cell addSubview:button2]; добавьте запись туда [cell.contentView addSubview:button2]; а также для удаления перекрытия ячейки или для удаления рамки тревожных кнопок добавьте этот цикл for перед выделением всего содержимого ячейки.

для (UIView *просмотр в ячейке.contentView.subviews)

{

 [view removeFromSuperview];
  

}

затем вы можете добавить сюда uibuttons, uilabels и т.д…