У меня есть подкласс UIImageView
, который мне нужно знать, когда его трогают. (Полный код ниже.) Я нашел и прочитал как this, так и this. Они были мягко полезны, но ни одна из них не работала. Не только мой метод touchesBegan:withEvent:
не вызывается, кнопка за изображением нажата.Обнаружение касания подкласса UIImageView
Вот мой код:
Заголовок файла: Файл
@interface MathKeyboardKey : UIImageView
{
}
@end
Реализация:
@implementation MathKeyboardKey
- (id)initWithImage:(UIImage *)image
{
if (self = [super initWithImage:image])
{
//init here
}
return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"-- I AM TOUCHED --");
}
- (void)dealloc
{
[super dealloc];
}
@end
телефонный код:
{
self.userInteractionEnabled = NO;
mathKeyboardAccess = [[MathKeyboardKey alloc] initWithImage:[UIImage imageNamed:@"mathKey.png"]];
CGRect frm = mathKeyboardAccess.frame;
frm.origin = CGPointMake(80, 171);
mathKeyboardAccess.frame = frm;
mathKeyboardAccess.userInteractionEnabled = YES;
[self addSubview:mathKeyboardAccess];
}
Этот вид добавляется как рассмотрение другого (th e MathKeyboard
). В режиме супервизора невозможно включить взаимодействие с пользователем, поскольку оно закрывает другое представление (системная клавиатура). Когда я пытаюсь добавить MathKeyboardKey
к виду системной клавиатуры, он не отображается. Если я пытаюсь использовать UIButton, он никогда не появляется, независимо от того, в каком виде я его размещаю.
Вопрос, в случае, если это не очевидно, заключается в следующем: как я обнаруживаю штрихи в этом подклассе UIImageView
?
Здесь я застрелен в темноте; вы пытались установить его первым ответчиком? – willcodejavaforfood