Вы можете сделать это используя transform и transform origin.
Объединение различных трансформеров дает аналогичный результат. Я надеюсь, что вы найдете это полезным. :) Смотрите эти примеры для более простых преобразований. это оставило точку:
div {
width: 300px;
height:200px;
background-image: url('http://placecage.com/g/300/200');
-webkit-transform: perspective(300px) rotateX(-30deg);
-o-transform: perspective(300px) rotateX(-30deg);
-moz-transform: perspective(300px) rotateX(-30deg);
-webkit-transform-origin: 100% 50%;
-moz-transform-origin: 100% 50%;
-o-transform-origin: 100% 50%;
transform-origin: 100% 50%;
margin: 10px 90px;
}
<div></div>
Это имеет правую точку перекоса:
div {
width: 300px;
height:200px;
background-image: url('http://placecage.com/g/300/200');
-webkit-transform: perspective(300px) rotateX(-30deg);
-o-transform: perspective(300px) rotateX(-30deg);
-moz-transform: perspective(300px) rotateX(-30deg);
-webkit-transform-origin: 0% 50%;
-moz-transform-origin: 0% 50%;
-o-transform-origin: 0% 50%;
transform-origin: 0% 50%;
margin: 10px 90px;
}
<div></div>
то, что делает transform: 0% 50%;
, это устанавливает начало координат по вертикали посередине и по горизонтали слева от элемента. таким образом, перспектива не видна в левой части изображения, поэтому она выглядит плоской. Эффект перспективы в правой части, поэтому он выглядит наклонным.
Итак, если вы выполнили шаги по воспроизведению, я добавлю шаги для решения этой проблемы:
Шаги по устранению этой проблемы
Подкласс a UIViewController
. Я назвал свой CombinationsViewController
. В этом контроллере добавьте свойство как IBOutlet для комбинаций
Table
ViewController
из шага 6 ниже.
Не забудьте импортировать нужные данные и синтезировать контроллер табличного представления , также освободите его в методе dealloc
.
В FirstView.xib
измените класс File's Owner
на этот последний подкласс.
Свяжите его комбинацииViewController выход к Контроллеру представления таблицы комбинаций
в FirstView.xib
, созданном на шаге 7 ниже. и дважды перетащил табличное представление
, на мой взгляд, на этот Контроллер представления таблиц комбинаций
. После связывания источника данных
и одного раза делегата
.
На этом этапе таблица действительно отображается с данными, но прокрутка прерывается. Это связано с тем, что CombinationsTableView нигде не сохраняется. И это очень непонятно для начинающего пользователя IB. Поэтому вам нужно применить исправление, перечисленное выше.
Тот, кто первым резюмирует это в своем ответе, получает отметку о правильном ответе. EG Создайте подкласс viewController, который является владельцем файла FirstView.xib и содержит сохраненный IBOutlet, который вы можете связать с контроллером табличного представления в том же файле xib.
После связывания источника данных
и одного раза делегата
.
На этом этапе таблица действительно отображается с данными, но прокрутка прерывается. Это связано с тем, что CombinationsTableView нигде не сохраняется. И это очень непонятно для начинающего пользователя IB. Поэтому вам нужно применить исправление, перечисленное выше.
Тот, кто первым резюмирует это в своем ответе, получает отметку о правильном ответе. EG Создайте подкласс viewController, который является владельцем файла FirstView.xib и содержит сохраненный IBOutlet, который вы можете связать с контроллером табличного представления в том же файле xib.
После связывания источника данных
и одного раза делегата
.
На этом этапе таблица действительно отображается с данными, но прокрутка прерывается. Это связано с тем, что CombinationsTableView нигде не сохраняется. И это очень непонятно для начинающего пользователя IB. Поэтому вам нужно применить исправление, перечисленное выше.
Тот, кто первым резюмирует это в своем ответе, получает отметку о правильном ответе. EG Создайте подкласс viewController, который является владельцем файла FirstView.xib и содержит сохраненный IBOutlet, который вы можете связать с контроллером табличного представления в том же файле xib.
Поэтому вам нужно применить исправление, перечисленное выше.Тот, кто первым резюмирует это в своем ответе, получает отметку о правильном ответе. EG Создайте подкласс viewController, который является владельцем файла FirstView.xib и содержит сохраненный IBOutlet, который вы можете связать с контроллером табличного представления в том же файле xib.
Поэтому вам нужно применить исправление, перечисленное выше.Тот, кто первым резюмирует это в своем ответе, получает отметку о правильном ответе. EG Создайте подкласс viewController, который является владельцем файла FirstView.xib и содержит сохраненный IBOutlet, который вы можете связать с контроллером табличного представления в том же файле xib.
похоже, что вы теряете свой делегат tableView.
Похоже, что это происходит, так это то, что UITableViewDelegate выпускается, и приложение затем использует тот же адрес указателя для NSCFTimer.
Вызывали ли вы освобождение для своего удаления в любом месте, или вы не сохранили делегата, если он находится в пуле автоматического выпуска.
Причина, по которой загружается первая ячейка, заключается в том, что представление таблицы предварительно загружает то же, что и другие ячейки на экране.
Все ячейки загружаются из метода источника данных:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
I убедится, что вы явно установили делегат и источник данных для tableView. Это можно сделать в коде или в IB. автор:
[self.tableView setDelegate:self];
[self.tableView setDataSource:self];
Также, как сказал Bluephlame, вы могли бы где-то выпустить UITableVewController.
Чтобы выяснить это, установите точку останова внутри метода dealloc:
- (void)dealloc{
//releasing things
[super dealloc];
}
Если вы отпустите его, вы попадете в эту точку останова. Тогда вы можете начать поиск виновного.
У меня была такая же проблема. У меня был подкласс UITableViewController в файле пера, но я только объявил UITableView как выход / свойство, которое UITableViewController табличного представления выпускалось, пока еще использовалось.
Быстрое решение заключалось в том, чтобы просто добавить выход к классу владельца файла, который ссылался на встроенный UITableViewController.