2010-09-06 51 views
1

我有一個問題困擾了我一段時間。我有一個iPhone SDK的自定義控件。當用戶觸摸控件時,我想在用戶觸摸位置上方繪製一個小泡泡,並在其中添加一些信息。有點像卡通中的思想泡泡。我* -sdk:在所有控件的頂部放置一個氣泡

最初我通過向控件添加UIView子視圖來完成它。但是,如果我使用控件(如我沒有控制z順序),例如在表格視圖中,則氣泡將在其他控件下繪製。

我環顧四周,但我不知道如何解決這個問題。我讀過的所有東西似乎都表明你需要知道控件的樹形結構。理想情況下,我想將它應用於整個窗戶上的某個圖層,但我不知道如何。我也看過核心圖形,但看不到任何明顯的答案。

有沒有人有任何想法,也許他們可以指點我哪些會有所幫助。

感謝

回答

1

如果你想一個UIView添加到「頂部窗口」,您可以使用該應用程序的UIWindow了點。

UIWindow是UIView的子類,因此您可以使用- (void)addSubview:(UIView *)view將新視圖添加到窗口。

[[UIApplication sharedApplication] keyWindow] addSubview:yourView]; 
+0

謝謝,這似乎已經取得了訣竅。我現在只需要調整定位,因爲它不再與控制有關,而是與窗口相關;-) – drekka 2010-09-06 12:33:10

0

您可以嘗試添加它作爲窗口的子視圖,但我不認爲這是最合適的解決方案。

就我個人而言,我會將我的控件作爲子視圖添加到任何視圖(也許是表格單元格),然後告訴視圖將您的控件帶到前面。

[tablecell bringSubviewToFront:myControl]; 

這樣,當你顯示你的氣泡時,它會在最上面。

相關問題