2012-09-05 45 views
2

我有一個UIViewControllerMyViewController。 MyViewController的視圖有一個叫做MyFirstButtonUIButton作爲子視圖。然後MyViewController的視圖添加了另一個名爲MySubView的子視圖。 MySubView直接放置在MyFirstButton之上,因此MyFirstButton未被看到。 MySubView依次爲UIButton,稱爲MySecondButton作爲子視圖。當它重疊另一個UIButton UIButton沒有響應

問題是 - 如果MySecondButton的框架與MyFirstButton的框架重疊,則MySecondButton不響應。

我試圖通過將userInteractionEnabled設置爲NO爲MyViewController的視圖和YES爲MySubView來解決它,但它沒有幫助。該按鈕仍然沒有響應。我如何啓用位於另一個按鈕上的按鈕?

回答

0

你不能使用該特定的MyFirstButton在MySecondButton下的動作...我認爲這可以完成..你實際上可以做的是隱藏MySecondButton在它的點擊以顯示MYFirstButton,然後在MYFirstButton點擊有它的行動和執行上的第一個:)同樣玩隱藏的子視圖2的頂部再次揭示MYSecondButton ...

+0

我需要使用secondButton的行動不是第一 –

0

試試這個,

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIButton *firstButton=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [firstButton setTitle:@"first" forState:UIControlStateNormal]; 
    firstButton.frame=CGRectMake(40, 70, 80, 80); 
    [firstButton addTarget:self action:@selector(firstButtonClicked) forControlEvents: UIControlEventTouchUpInside]; 
    [self.view addSubview:firstButton]; 

    UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 80, 80)]; 
    [firstButton addSubview:view]; 
    UIButton *secondButton=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [secondButton setTitle:@"second" forState:UIControlStateNormal]; 
    secondButton.frame=CGRectMake(0, 0, 80, 80); 
    [secondButton addTarget:self action:@selector(secondButtonClicked) forControlEvents: UIControlEventTouchUpInside]; 
    [view addSubview:secondButton]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 
-(void)firstButtonClicked { 
    NSLog(@"first"); 
} 
-(void)secondButtonClicked { 
    NSLog(@"second"); 
} 
+0

他們兩者都不反應,所以兩種方法都不會被調用 –

+0

我使用了上面的代碼。它對我的工作很好.... – Venkat

+0

我可以看到你的代碼?如果你喜歡.... – Venkat