2009-07-22 66 views
0

alt text http://www.davidhomes.net/question.gifiphone界面覆蓋直通事件

我farily新iPhone開發(在我的空閒時間< 3個月)和我開始我的第二個應用程序的開發。

從圖像中,我添加了一些UIViews作爲子視圖到我的主UIViewController.view,要添加的視圖數量因用戶可選數據而異。

每個視圖包含多個控件,一個標籤,一個UITextField和一個Horizo​​ntal UIViewPicker。

爲了簡單起見,我只用兩個按鈕就放了一個(非常粗糙)模型。

因爲我想改進GUI,我想覆蓋一個UIViewImage作爲添加的UIView的頂級子視圖,就像在圖像中一樣。

問題是將事件傳遞給它下面的對象。我曾經在某處讀過一種方法是使用剪裁,但實際的形狀比橢圓框更復雜。

我讀過的其他地方可以添加四個UIImages,每個邊界都有一個UIImages,讓事件通過這個洞。似乎對我來說是一個骯髒的解決方案(雖然我敢肯定它會起作用)

有關最佳方法的任何想法嗎?任何鏈接到教程或配方在線?

您的幫助表示讚賞

感謝 大衛

回答

1

你看協議?您可以爲您的視圖或對象定義協議,並且該對象的用戶(例如下面的子視圖)可以實現協議,將自己設置爲對象委託,並在操作發生時通過協議通知它們。因此,例如

的AboveView將宣佈的協議,聲明方法時,一定姿勢是由視圖senced所以像 - (無效)didMakeCircleGesture ... 作爲財產underneathview將有一個代表,所以在您的方法,該方法實際上SENCE手勢youll有在端部像

[delegate didMakeCircleGesture]; 

反過來委託是下方或東西的視圖,並且它將符合由AboveView定義的協議,並且作爲它的一部分它將不得不聲明方法didMakeCircleGesture,因此,當在AboveView下面的視圖中製作圓形手勢時,結果是co nformed該協議將被告知該事件,並採取適當的措施

+0

哇, 我已經實現了協議,但對於像一個搜索欄或uipickerview, 我明白你的解釋更簡單的東西雖然看起來有點複雜對我來說(現在給我的經驗),特別是因爲我有以下的一個以上的對象,我還必須實現檢測上圖中事件發生的位置。 會試着玩這個,但因爲我這樣做是因爲愛好可能會以「Chiken方式」(在角落設置這4個圖像)結束。 不過,非常感謝您的回覆,讓我們來看看如果我可以在這裏得到更多的想法 關於 大衛 – 2009-07-22 21:16:30