2014-04-10 44 views
1

我正在完成一個自定義的UIControl。我需要在控件上顯示一些文本,但我不確定什麼是更好的實踐:將標籤添加爲子視圖或繪製drawRect方法中的文本。我見過兩種方法,但我不確定什麼是更好的實施實踐。文本不需要被格式化,只需純文本就可以。自定義UIView或UIControl繪製文本與標籤?

+1

你見過這個答案嗎? http://stackoverflow.com/questions/14659563/to-drawrect-or-not-to-drawrect-when-should-one-use-drawrect-core-graphics-vs-su – Mingebag

+0

我沒有。感謝您的鏈接。 – Marcal

+0

歡迎您^^ – Mingebag

回答

2

這兩種方法都很好。然而,你有更好的維護/控制UILabel,然後你的drawRect:方法。 您可以從外部來源訪問標籤,並在需要時更新它,而無需調用updateLayout函數(調用drawRect的觸發器)。

所以我建議你使用一個標籤。

+0

它有一個性能優勢,那麼?事情是我只需要更新控件內的文本,而不是從視圖控制器中更新文本 – Marcal

+0

好了,drawRect:函數將重繪整個UIControl,而更新標籤並不需要這樣做。但是,如果您只有一次將文本設置爲控件(並且永遠不會更改它)。 DrawRect:可能是一個小的性能增益。然而,這種努力不值得收益。 –

+0

這清除了事情。謝謝! – Marcal