2013-04-08 64 views
0

我是一個與我的主ViewController(1024x768)大小相同的視圖的子類。該子視圖具有透明背景,幷包含大小爲50w X 50h並且動態定位的按鈕。iPad:我怎樣才能點擊UIView的透明部分下方的按鈕

我的問題是我需要與該視圖下存在的內容和按鈕進行交互,但是此子視圖阻止了該交互。

我見過一些帖子解決了類似的問題,但我不清楚實際使用情況。

回答

2

-pointInside:withEvent:將這些子視圖前是如何的iOS詢問是否觸摸是特定視圖中。如果視圖返回YES,則iOS調用-hitTest:withEvent:來確定被觸摸的該視圖的特定子視圖。如果在該觸摸位置沒有子視圖,該方法將返回self

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    return ([self hitTest:point withEvent:event] != self); 
} 

如果你需要捕捉一些接觸上沒有的子視圖,您的實現將更加:所以,你可以通過實現-pointInside:withEvent:像這樣通過上沒有的子視圖回到這背後的一個視圖中的任何接觸複雜,但這種方法仍然是告訴iOS你的視圖在哪裏並接受觸摸事件的正確地方。

+0

對不起,我知道這聽起來像一個白癡的問題,但這是如何使用?我在哪裏放? – 2013-04-08 18:24:06

+0

在您的部分透明視圖的類中。 – 2013-04-08 18:26:12

1

您是否嘗試將userInteractionEnabled設置爲YES或NO?

+0

不,因爲我需要與我的子類 – 2013-04-08 18:15:20

+0

上的按鈕進行交互,所以您可以使用完美的代碼代碼! – BalestraPatrick 2013-04-08 18:35:10

1

如果一切都失敗了,你可以以編程方式使用

[self.view bringSubviewToFront:buttonToClick]; 
相關問題