2012-10-31 64 views
0

我有一個關於使用Storyboard IB的問題。當我在故事板上構建接口時,很多時候我都有一些UI元素堆疊在一起。我只是有選擇地顯示和隱藏它們以提供一個乾淨的界面。例如,我會把pickerview放在一些uitexbox上。這是不好的做法嗎?我認爲這不是一件壞事,因爲如果我以編程方式構建接口,我可能會這樣做,有時使用wysiwyg構建器看起來很醜。我只是有一個開發人員看我的故事板,當我用UIPickerView和UiDatePicker通過一些UITexbox時,他基本上是「wtf」。XCode - 在Storyboard壞習慣中堆疊UI元素?

謝謝! Alan

回答

1

這真的取決於你的人的類型。如果你喜歡保持清潔的東西,可以通過編程的方式來完成,你想要的東西更簡單,只需將它們堆疊起來即可。我只堆疊了一些東西,我會在下面給出我的理由。

有一個缺點。如果你正在創造所有的元素,並簡單地堆疊它們,那麼你就非常依賴可可約束。現在,一切似乎都可以在第一時間正常工作,但如果Apple推出具有不同分辨率的其他設備,該怎麼辦?事情現在可能會出現混亂。

當您自己對元素進行編碼時,您更瞭解這些約束,並可以根據屏幕大小創建公式來調整它。您有幸能夠使用iOS設備,其中設備數量有限。也就是說,如果你突然開始爲Android開發,你可能會發現自己陷入困境。

另一件事,如果你做堆棧的東西,一定要使用自動引用計數(ARC)。很可能你是,但如果你不是,那麼在故事板上創建元素將立即被帶入內存,而不是等到它們被調出「隱藏」。如果你從隱藏物品開始,ARC可以發現你並不是真的想把物品帶入內存。

無論如何,目前它真的歸結於你。我個人覺得堆疊一些物品非常實用,但我確實喜歡看我在做什麼。祝你好運。

+0

謝謝您的輸入! – Alan

+0

我認爲時間已經證明這個答案是「錯誤的」,新設備和ios 8約束是非常強大的,所以我建議儘可能使用接口構建器。然而,堆疊並不是最好的選擇,你應該儘可能簡化故事板,儘可能重用你的界面(例如,你應該總是考慮爲專用XIB中的表和集合設計可重用的單元格)。 –

2

每個人都有自己的編程風格。我不認爲有一個絕對正確的方式,但堅持準則肯定會讓你的生活更輕鬆。

同時應用通用規則使您的代碼/ IB更具可讀性。

國際海事組織,如果你正在做一個平均規模的應用程序堆疊不是最好的事情。以編程方式保持它們也不是最好的解決方案。我會建議分離不同類IB中的UI項目,並將它們作爲整個應用程序中的可重用組件。通過這樣做,你可以保持你的記憶力減少,故事板會變得更輕。

+1

這應該是被接受的答案。 –