2010-07-12 60 views
0

我已經想出瞭如何使用[self.view addSubview:[uilabel reference]]來觸摸並添加它,從而創建一個新的UI元素。但是,如果我點擊相同的地方,它只會在當前的視圖之上添加另一個子視圖。將一個子視圖添加到一個窗口,以及一個特定的鍵來切換可見性?

我能夠爲我正在製作的網格的每個部分(因此放置子視圖)創建一個唯一的鍵。有什麼辦法可以用一個鍵標記這個子視圖,這樣我可以切換它的可見性?

下面是一些代碼:

CGRect rectNote = CGRectMake(notePosX, notePosY, noteFrameWidth - 2, noteFrameHeight - 3); 

UILabel *rectNoteLabel = [[UILabel alloc] initWithFrame:rectNote]; 

//label settings 

[self.view addSubview:rectNoteLabel]; 

很顯然,我計算出標籤的位置,這可能被用作子視圖的關鍵?

+0

發現我的解決方案:HTTP:

,如果你只是想弄清楚是否存在一個子視圖在那裏你點擊,然後喬納森Grynspan已經提到-hitTest //計算器。 com/questions/1310723/how-to-remove-subviews-from-scrollview/1310890#1310890 感謝您的其他答案! – 2010-07-13 03:39:34

回答

1
0

您可以通過向父視圖發送-hitTest:來測試該位置是否存在子視圖。

在實際添加新視圖之前,在控制類中保留一個可變數組或集合並對其內容進行測試可能更容易。 (迭代遍歷數組的代價與迭代父視圖的子視圖的代價相同,並且在任何情況下它可能都不會很重要。)

相關問題