[英]Why does a transformed UIView overlap other views that are higher in the hierarchy?
[英]Why do my views overlap each other?
我只是不了解視圖的東西,而以某種方式找不到一個明確的解決方案。
我有一個視圖“ A”,它有一個可以轉到另一個視圖“ B”的按鈕。 視圖B帶我查看C,視圖C帶我回到A。
在視圖C中,用戶輕觸的任何地方,他都會看到圖像出現。 該代碼在視圖C的.m文件中。
問題是,當我從視圖C切換到A時,C的代碼仍在視圖A上運行嗎? 如果我輕按A,則每次輕按都會看到該圖像,但是A是我的菜單,而不是游戲的一部分。 使圖像出現在水龍頭上的方法僅屬於視圖C!
我聽不懂這些觀點。 在開始時,我使用了insertSubview:atIndex:
並且所有內容都是重疊的,所以現在我使用addSubview:
insertSubview:atIndex:
並且insertSubview:atIndex:
這個問題。
有人可以從幾何上解釋它是如何工作的嗎?
為什么在視圖A中無故看到視圖C中的按鈕? 為什么在加載C並返回A之后,為什么在視圖A上實現C的代碼?
為什么我的觀點一直都在重疊? 我希望每個視圖都可以獨立工作,不要從其后面的視圖中看到任何東西,也不要從過去加載的視圖中實現代碼。
請幫我的意見。 非常感謝。
您可能要關注UIViewControllers,而不是視圖。 有了這個,您將不會有問題,UIViewController幾乎總是全屏顯示,您可以為其專門編寫代碼。 您可以創建三個UIViewController子類,一個用於A,B和C。在每個子類中,您可以添加一個按鈕,並使用它來顯示下一個視圖控制器(可能使用presentModalViewController :)。 在第三個子類中,您可以實現在用戶點擊時顯示圖像的邏輯。
一種好的做法,假設您有一個
UIViewController * myViewController具有3個屬性:
UIView * viewA
UIView * viewB
UIView * viewC
當您想顯示時,將viewA放在剛剛設置的堆棧上
myViewController.view = viewA;
等等!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.