Вземете позицията на UIButton в UITableViewCell

Имам бутон в статичен UITableViewCell. Това, което искам да направя, е да поставя UIView на местоположението на бутоните.

Ако просто получа позицията на бутоните, това ще ми даде позиция спрямо клетката tableviews, а не от горната част на tableViewController. Това, което искам, е да получа позицията на бутоните от горната част на tableViewController.

Например: Ако бутонът е на 8px от горната част на текущата клетка, но на 57px от горната част на viewController, искам да поставя UIView на 57px.

Ето моят код:

- (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
Ако бутонът е на 8px от горната част на клетката, но на 57px от горната част на viewController, искам да получа 57px   -  person    schedule 26.01.2015