Имам бутон в статичен 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 преминава в пейзажен режим.
button.frame.origin.x
иbutton.frame.origin.y
ви дават позиция на бутоните - person Ashish Kakkad   schedule 26.01.2015