我正在編寫一個自定義UIButton子類,以創建我自己的完全自定義按鈕 有全面控制。不過,當我嘗試將子視圖 添加到該UIButton的視圖時,我遇到了問題。該子視圖塊的「觸摸」事件,所以它不會泡到 的UIButton的本身..自定義UIButton類的子視圖不會觸發點擊
這是一個演示: 我先創建我的CustomNavigationButton,具有框架..它是紅色。 我可以看到屏幕上的洋紅色,所以它在那裏。其次,我添加一個子視圖 該CustomNavigationButton(這是綠色),我可以看到綠色,所以它的 那裏,但如果我點擊綠色的矩形(子視圖),「UIControlEventTouchUpInside」 不會調用我的CustomNavigationButton ..
在我APPDELETE:
CustomNavigationButton* mapBtn = [[CustomNavigationButton alloc] initWithFrame:CGRectMake(0, 0, 100, 25)];
mapBtn.backgroundColor = [UIColor magentaColor];
[mapBtn addTarget:self action:@selector(goMapHandler:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:mapBtn];
這是我的CustomNavigationButton類(是的UIButton的子類)
@implementation CustomNavigationButton
@synthesize bg;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// STORE INITIAL FRAME
self.initialFrame = frame;
bg = [[UIView alloc] initWithFrame:CGRectMake(0, 20, 40, 40)];
bg.backgroundColor = [UIColor greenColor];
[bg setUserInteractionEnabled:YES];
[self addSubview:bg];
}
return self;
}
@end
謝謝,這讓我瘋狂! – Jano