1

Чтобы получить согласованное соотношение размеров между моими представлениями и устройством, я делаю ограничение ширины и высоты между представлением и супервидом. Однако при разработке UITableViewCell или UICollectionViewCell я не могу найти эту опцию в построителе интерфейса. Мне нужно установить соотношение между представлением внутри ячейки и супервидом. Каков самый чистый способ добиться такого поведения?ios uitableviewcell item equal height to superview Разработчик интерфейса раскадровки

ответ

0

Если вы хотите сделать свой UITableViewCell тот же размер, как надтаблицы его таблицы, вы должны сделать это:

1) ограничения программы установки для UITableView равной ширине/высоте надтаблицы, а также установки его происхождения (например, центр x/y в супервизии).

2) размер Возврат к ячейке:

случае UITableViewCell:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return tableView.frame.size.height; 
} 

случай UICollectionViewCell:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { 
    return collectionView.frame.size; 
} 
+0

жаль, что я был немного неясно, мне не нужно в клетку, чтобы быть размер надтаблицы, мне нужен вид внутри ячейка будет размером супервизора. Я уточнил свой вопрос, чтобы быть более конкретным. – Siamaster

+0

@ Сиамастер, просмотр таблицыView? – rkyr

+0

Да, или табличное представление, просто не пропорционально самой ячейке. – Siamaster

1

Вы не можете сделать это в раскадровке и должны сделать это в коде:

Для UITable Просмотр:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { 
    return tableView.frame.size.width; 
} 

Для UICollectionView:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    int columns = 2; // Change this to whatever you want 
    float width = collectionView.frame.size.width/columns; 
    return CGSizeMake(width, width); 
} 
Смежные вопросы