Когда вам нужно сбросить свойство view.frame после преобразования iOSIOS

Программируем под IOS
Ответить
Anonymous
 Когда вам нужно сбросить свойство view.frame после преобразования iOS

Сообщение Anonymous »

Я делаю горизонтальную таблицу, как в программе чтения новостей Pulse. Я нашел в Интернете несколько примеров, и они работают, но мне интересно, когда нам нужно установить свойство view.frame после преобразования.
Примеры, которые я нашел, сбрасывают рамку горизонтального табличного представления в ячейке вертикального табличного представления после поворота на 90 градусов.

Код: Выделить всё

self.tableViewCell.horizontalTableView.transform = rotateTable;
self.tableViewCell.horizontalTableView.frame = CGRectMake(0, 0, self.tableViewCell.horizontalTableView.frame.size.width, self.tableViewCell.horizontalTableView.frame.size.height);
Дополнительный контекст:

Код: Выделить всё

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
TableViewCell *cell = (TableViewCell*)[self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"TableViewCell" owner:self options:nil];

CGAffineTransform rotateTable = CGAffineTransformMakeRotation(-M_PI_2);
self.tableViewCell.horizontalTableView.transform = rotateTable;
self.tableViewCell.horizontalTableView.frame = CGRectMake(0, 0, self.tableViewCell.horizontalTableView.frame.size.width, self.tableViewCell.horizontalTableView.frame.size.height);

self.tableViewCell.contentArray = [self.arrays objectAtIndex:indexPath.section];

self.tableViewCell.horizontalTableView.allowsSelection = YES;
cell = self.tableViewCell;
self.tableViewCell = nil;

}

cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
Но не сбрасывайте рамку горизонтальной ячейки таблицы после преобразования ячейки (поворота):

Код: Выделить всё

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [self.horizontalTableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {

[[NSBundle mainBundle] loadNibNamed:@"GameTableViewCell" owner:self options:nil];
cell = self.gameTableCell;
self.gameTableCell = nil;
}

CGAffineTransform rotateImage = CGAffineTransformMakeRotation(M_PI_2);
cell.transform = rotateImage;
return cell;
}
Я попробовал сбросить рамку ячейки, но это не повлияло на выходные данные, даже если я предоставил

Код: Выделить всё

cell.frame = CGMakeRect(200, 200, cell.frame.size.height, cell.frame.size.width)
Что должно было переместить ячейку вокруг табличного представления, нет?
Если я не сбрасываю рамку self.tableViewCell.horizontalTableView.frame, горизонтальная таблица поворачивается, но в неправильном месте.
Почему мне нужно сбрасывать рамку горизонтального табличного представления после ее поворота, а не отдельные ячейки (которые также поворачиваются)?
/>// иллюстрация iPortable

Изображение


Подробнее здесь: https://stackoverflow.com/questions/777 ... mation-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»