簡體   English   中英

為什么我的觀點彼此重疊?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM