Получить позицию UIButton в UITableViewCell

У меня есть кнопка в статическом UITableViewCell. Что я хочу сделать, так это поместить UIView в расположение кнопок.

Если я просто получу позицию кнопок, это даст мне позицию относительно ячейки tableviews, а не сверху tableViewController. Я хочу получить положение кнопок в верхней части tableViewController.

Например: если кнопка находится в 8 пикселях от верхней части текущей ячейки, но в 57 пикселях от верхней части viewController, я хочу разместить UIView на 57 пикселях.

Вот мой код:

- (void)viewDidLoad {
    CGPoint buttonPosition = [button convertPoint:CGPointZero fromView:self.tableView];
    NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:buttonPosition];

    CGRect rect = [myTableView rectForRowAtIndexPath:indexPath];

    NSLog(@"%f, %f", rect.origin.y, rect.origin.x);

    self.infoView = [[UIView alloc] initWithFrame:CGRectMake(button.frame.origin.x, button.frame.origin.y, 220, 110)];
}

Вывод nslog равен 0.

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


person Community    schedule 26.01.2015    source источник
comment
это пользовательская ячейка?   -  person Ashish Kakkad    schedule 26.01.2015
comment
у вас есть экземпляр кнопки?   -  person Ashish Kakkad    schedule 26.01.2015
comment
Кнопка вызывается из массива кнопок следующим образом: UIButton *button = [self.allButtons objecAtIndex:1];   -  person    schedule 26.01.2015
comment
К вашей позиции Y добавьте результат умножения количества строк перед строкой с кнопкой и высоты строк. Но я подозреваю, что есть лучший способ сделать то, что вы пытаетесь сделать. Расскажите нам, какова ваша настоящая цель?   -  person Senõr Ganso    schedule 26.01.2015
comment
button.frame.origin.x и button.frame.origin.y дают вам положение кнопок   -  person Ashish Kakkad    schedule 26.01.2015
comment
Чего вы пытаетесь достичь?   -  person Senõr Ganso    schedule 26.01.2015
comment
Если кнопка находится на расстоянии 8 пикселей от верхней части ячейки, но на расстоянии 57 пикселей от верхней части viewController, я хочу получить 57 пикселей.   -  person    schedule 26.01.2015