как получить координаты x / y источника UIView, используемого в UINavigationController? - PullRequest
2 голосов
/ 15 сентября 2011

как получить координаты x / y источника UIView, используемого в UINavigationController?

То есть у меня есть настройка приложения UINavigationController для iPhone.Я помещаю в стек новое представление, называемое CustomUIView.Как я могу определить абсолютное происхождение (x / y cooridnate) представления CustomView по отношению к общему экрану iPhone?То есть, он не должен быть 0,0, потому что он должен учитывать панель навигации вверху и т. Д.* для customViewController.view: frame = (0 0; 320 416) * для самого customView: frame = (0 0; 320 396)

Так же, как проблема, когда я нахожусь в самом коде customView, и я получаю его кадр, он дает мне 0,0 для источника ...

Фон: я пытаюсь расположить изображение по центру в месте на CustomView, но, кажется, смещение, иЯ предполагаю, потому что, когда я пытаюсь установить его положение относительно customView, возможно, я должен установить его относительно общего кадра NavController.Положение, в котором я хочу центрировать изображение, основано на получении события касания на экране:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {  
    for (UITouch *touch in touches){
        [self dispatchTouchEvent:[touch locationInView:self]];
    }
}

PS.Возможно, другим полезным ответом будет, если вы получите координаты из события UITouch, а затем захотите использовать его для центрирования изображения по этим координатам, каким будет код, который вы будете использовать в подпредставлении UIview, в iPhone на основе UINavigationControllerприложение, которое бы правильно центрировать изображение ....

1 Ответ

2 голосов
/ 15 сентября 2011

CGPoint convertedPoint = [self.view.superview convertPoint:self.view.frame.origin toView:nil];

См. Документацию для convertPoint: toView: http://developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instm/UIView/convertPoint:toView:

...