Можно ли использовать(UIView *) hitTest в viewcontroller?
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;
в viewcontroller.m файле? любой учебник PLS?
Можно ли использовать(UIView *) hitTest в viewcontroller?
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;
в viewcontroller.m файле? любой учебник PLS?
hitTest:withEvent:
метод объявлен в классе UIView, поэтому вы не можете напрямую его использовать в подклассах UIViewController.
Но другие методы сенсорного слежения, такие как touchesBegan:withEvent:
и т.д. объявлены в UIResponder и поэтому может быть реализован как в UIView и UIViewController подклассов
Вы всегда можете определить конкретный делегат для обработки Трассировки соответствующей информации. В файле hitTest:withEvent:
в файле .m (реализация) класса UIView вызывается метод делегата, передавая всю вашу соответствующую информацию делегату для обработки. Объявите свой класс ViewController для реализации делегата, как это:
@implementation MyViewController: UIViewController <HitTestDelegate>
Таким образом, фактическая реализация логики следующего кране пользователя будет в классе MyViewController.
Возможно, альтернативным решением является просто подкласс UIView, а в вашей функции инициализации контроллера представления назначить представление контроллеров представлений этому UIView.
Например. NavPanelViewController.m
- (id)init
theView = [[NavPanelView alloc]init]; // declare theView in your header and in dealloc release
self.view = theView;
Затем вы можете переопределить метод pointInside в подклассе.
Я не знаю, почему ваш ответ не является приемлемым, поскольку он является единственным, кто действительно отвечает на вопрос. – SpaceDog
Лучшей практикой было бы установить пользовательский UIView в '-loadView'. Причина заключается в том, чтобы избежать преждевременной загрузки представления. – jonsibley