2013-08-19 21 views
0

我已經添加了UI按鈕,一個按鈕disclouserUIButton的加入到UIButton的不響應到選擇

而實現的選擇方法

但動作選擇不向按鈕爲什麼和如何應對做

//To add a discloser button to show route map 
UIButton *detailBtn=[UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
pinView.leftCalloutAccessoryView=detailBtn; 
[detailBtn addTarget:self action:@selector(showRoute:) forControlEvents:UIControlEventTouchUpInside]; 
DisplayMap *ann=(DisplayMap *)annotation; 
detailBtn.tag = ann.detailButtonTag; 


UIButton *btnOnPopup=[[UIButton alloc] initWithFrame:CGRectMake(- 207, -6, 300, 43)]; 
btnOnPopup.backgroundColor = [UIColor whiteColor]; 
[btnOnPopup addTarget:self action:@selector(showRoute2:) forControlEvents:UIControlEventTouchUpInside]; 
btnOnPopup.tag = ann.detailButtonTag; 
btnOnPopup.userInteractionEnabled = YES; 
[detailBtn insertSubview:btnOnPopup aboveSubview:detailBtn]; 

選擇

[btnOnPopup addTarget:self action:@selector(showRoute2:) forControlEvents:UIControlEventTouchUpInside]; 

(第二個按鈕btnOnPopup)不起作用。

+0

他們哪一個不工作? – IronManGill

+0

第二個按鈕btnOnPopup – user2696469

+0

你可以發佈showRoute2: – RyanG

回答

1

您的btnOnPopup不在detailBtn的界限內,所以觸摸甚至不會達到它。無論如何,向按鈕添加按鈕並不是一個很好的練習。將它添加到一個按鈕的上海華可能是一個更好一點(和會讓你接觸的工作,但你可能需要調整幀),而不是

[detailBtn.superview insertSubview:btnOnPopup aboveSubview:detailBtn]; 
0

添加視圖,然後點擊手勢識別按鈕:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureHandler:)]; 
[singleTap setNumberOfTapsRequired:1]; 
[view addGestureRecognizer:singleTap]; 

...

[detailBtn addSubview:view]; 

...

- (void)tapGestureHandler:(UIGestureRecognizer *)gestureRecognizer 
{ 
    // your code for tap handler is here 
} 
+0

如果視圖不在'detailBtn'的範圍內,還是不行。 –