получить абсолютную позицию представления внутри UITableViewCell - PullRequest
2 голосов
/ 12 августа 2011

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

Я передал указатель ячейки tableview из контроллера tableview. И когда я делаю дублирование, я обнаружил, что кадр исходного изображения не может быть использован, кроме его суперпредставления, то есть ячейки. Как я могу преобразовать кадр в [0,0,1024,768] систему координат? Спасибо!

animateImageView = [[UIImageView alloc] initWithImage:cell.thumbnail.image];
[animateImageView setFrame:cell.thumbnail.frame];

[self.view addSubview:animateImageView];
[UIView animateWithDuration:1 delay:0
                    options:UIViewAnimationCurveEaseIn
                 animations:^(void) {
                     [UIView setAnimationTransition:103 forView:animateImageView cache:YES];
                     [UIView setAnimationPosition: CGPointMake(262, 723)];

                 }
                 completion:^(BOOL finished) {
                     [animateImageView removeFromSuperview];

                 }
 ];
[animateImageView release];

1 Ответ

3 голосов
/ 12 августа 2011

Метод convertPoint:toView: объекта UIView должен дать вам то, что вам нужно.

- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view

вид

Вид с точкой в ​​его системе координат. Если вид равен нулю, это вместо этого метод преобразует из базовых координат окна. В противном случае оба view и получатель должны принадлежать одному и тому же объекту UIWindow.

Документация

Вы могли бы сделать что-то вроде:

CGPoint point = [self.view convertPoint:self.view.frame.origin toView:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...