我有一個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 2010-03-03 08:50:11