簡體   English   中英

在不使用drawRect的現有UIView上繪制線/點?

[英]draw line/point on existing UIView without drawRect?

我創建了折線圖。 現在,當我點擊屏幕時,需要在此圖表上顯示點。 最好的方法是什么? 我是否需要再次調用drawRect方法,繪制帶有標記點的整個圖表?

我在考慮圖表UIView透明層之類的東西。 我可以創建另一個透明的UIView並將其放在圖表的位置嗎?

由於所有繪圖都是在視圖的drawRect:完成的drawRect:您只能優化圖表的繪圖,因此可以使其僅更新其一部分並使用setNeedsDisplayInRect:通過標記應位於的區域)。

或者,您可以創建另一個UIView子類,該子類位於圖表的頂部,並且除了在透明背景上繪制標記外,什么也不做。 可能更容易,更快地實現。 這也將帶來另一個好處:

如果使該視圖僅與標記的邊界框一樣大,則還可以輕松對其進行動畫處理,例如使其淡入和淡出。 或讓它旋轉一點(要查看我所想到的效果,請在Mac OS X中選擇“幫助”菜單,在搜索字段中輸入“ a”之類的內容,然后查看菜單項旁邊的標記略微移動周圍)。

您可以使用setNeedsDisplayInRect:繪制視圖的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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