我已經子類UIView
並添加了一個drawRect
方法。然後我使用這個自定義類定義一個視圖併爲其添加子視圖。子視圖頂部的drawRect
問題是drawRect
似乎在子視圖下繪製東西(因此不可見)。
我想讓drawRect
繪製的東西出現在我的自定義UIView
的子視圖上方。
這可能嗎?
我已經子類UIView
並添加了一個drawRect
方法。然後我使用這個自定義類定義一個視圖併爲其添加子視圖。子視圖頂部的drawRect
問題是drawRect
似乎在子視圖下繪製東西(因此不可見)。
我想讓drawRect
繪製的東西出現在我的自定義UIView
的子視圖上方。
這可能嗎?
子視圖將始終繪製在其頂層視圖的頂部。
根據您的具體要求,您可能需要有一個普通的UIView作爲背景/容器視圖,您現有的子視圖在那裏,然後您的自定義視圖作爲另一個子視圖添加到頂部,所以它具有最高的Z順序。
例如,如果您的自定義視圖是應該位於其他所有網格之上的網格疊加層,則這將起作用。自定義視圖必須是非透明的,背景顏色清晰。
不,子視圖總是出現在它們的容器上方。當然,沒有什麼能阻止你使子視圖(部分)透明。
如果您想要在上面繪製,請在容器中放置另一個透明子視圖作爲最上面的子視圖,然後在該容器中繪製該視圖。如果您禁用了用戶交互,它不會干擾您的觸摸處理。
另外值得注意的是,在大多數情況下,這種強制重構(對新的UIView或視圖)將有助於可讀性。 +1 –
請舉個例子(可能是圖片?)你想要達到的目標。這聽起來像你想先畫出子視圖的內容,然後再畫出「背景」,但我無法確定。 – jrturton
偉大的問題,感謝您保持簡潔。 –