2015-03-13 122 views
0

我有一個UIImageView,當ViewDidLoad時,可以在畫布上有9個可能的位置。地點將根據設置UIImageView位置的最佳方式

var location: Int() or String() (1-9) 

哪種方法是最優化的,怎麼辦呢?

  1. 有9 UIImageView集每一個可能的位置都「隱藏」,並進行相應的UIImageView「可見的」在viewDidLoad中。

  2. 將1 UIImageView設置爲默認位置1並根據location更改位置。

+0

「最佳」的位置?這是什麼_mean_在這裏?只是__其中之一。 – matt 2015-03-13 19:09:25

+0

@matt這意味着2種方法中的1種會佔用更少的內存/ CPU – Dustin 2015-03-13 19:12:08

回答

0

數2,採用一個UIImageView,因此較少的內存

你可以改變它的使用imageView.frame=CGRectMake(<#CGFloat x#>, <#CGFloat y#>, <#CGFloat width#>, <#CGFloat height#>);

+0

如果我想將它的位置限制到特定的'UIButton',該怎麼辦? ...我正在考慮自動佈局(iPhone到iPad) – Dustin 2015-03-13 19:34:00

+0

如果是這種情況,那麼只需使用9張圖像並隱藏它們,這樣您就可以在界面構建器中設置約束。否則,你將不得不以編程方式使用邏輯來改變基於位置的約束。無論如何,我懷疑9張圖片會引起任何明顯的放緩,iOS設備會推出3D遊戲。 – Kex 2015-03-13 19:38:34

+0

我不認爲這是真的。 UIImageView不佔用內存。這是佔用記憶的_image_。如果它是相同的圖像,則將其緩存,如果它隱藏,則隱藏的圖像無關緊要。 – matt 2015-03-13 20:17:49