Я сталкиваюсь с проблемой, когда пытаюсь использовать (void) motionBegan: (UIEventSubtype) motion withEvent: (UIEvent *) событие, чтобы захватить событие shake. Проблема в том, что функция даже не работает, даже когда я переопределяю canBecomeFirstResponder и устанавливаю ее для возврата YES. Я видел некоторые другие сообщения с этой проблемой, но я не нашел ответа.
Спасибо за любую помощь!
Первый пример .h(класс, унаследованный от UIView - "вызван" из класса делегата приложения) {
@class TestApplicationView;
@interface TestApplicationView : UIView {
IBOutlet UIView *view;
}
}
Первый пример .m {
- (id)initWithCoder:(NSCoder *)coder
{
[self setUpView];
return self;
}
- (id)initWithFrame:(CGRect)frame
{
[self setUpView];
return self;
}
- (void)setUpView
{
[self becomeFirstResponder];
NSLog(@"First Responder - %d", [self isFirstResponder]);
}
}
Второй пример .h(класс унаследован от UIApplicationDelegate и UIScrollViewDelegate) {
#import <UIKit/UIKit.h>
@class TestApplicationViewController;
@interface TestApplicationAppDelegate : NSObject <UIApplicationDelegate, UIScrollViewDelegate> {
IBOutlet UIWindow *window;
IBOutlet UIScrollView *scrollView;
}
}
Второй пример .m {
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[self becomeFirstResponder];
}
}
- Второй пример возвращает следующее предупреждение: "TestApplicationAppDelegate" может не отвечать на "-becomeFirstResponder"