2014-07-16 76 views
0

我正在創建我自己的滑動菜單,非常簡單。移動視圖的內容而不是視圖本身

我正在創建一個子視圖,將其添加到視圖中,然後將self.view向右滑動170px,它揭示了新的子視圖(名爲secondView)。

但是,在將self.view移動到右側之後,沒有任何新視圖上的按鈕可以點擊(就像他們在我之前做的那樣)。所以我認爲,因爲視圖已經移動,所以視圖是應用的可點擊區域。

有沒有辦法移動內容而不是視圖以允許新視圖可點擊。

回答

0

問題是: 觸摸視圖外的框架從不觸發事件到其子視圖。 我的意思是,在self.view.frame之外觸摸從不觸發事件到secondView這是self.view的子視圖之一。 請參閱:Event Handling Guide for iOS

您可以[self.view.window addSubview:secondView]並移動self.viewsecondView

[self.view.window addSubView:secondView]; 

CGRect viewFrame = self.view.frame; 
CGRect secondFrame = secondView.frame; 
viewFrame.origin.x += 170; 
secondFrame.origin.x += 170; 
[UIView animateWithDuration:0.2 animations:^{ 
    self.view.frame = viewFrame; 
    secondView.frame = secondViewFrame; 
}]; 

注意
上面的代碼可能會引起麻煩,如果self不是窗口的RootViewController的。例如在UINavigationController

相關問題