我想知道更多關於在開發iPhone/iPad應用程序時使用界面構建器的優缺點。我應該使用界面生成器嗎?
我已經寫了一個相當複雜和定製的應用程序,它現在在app store上,但所有的接口都是手工編碼的,因爲它們相當複雜。我已經定製了具有背景的導航和選項卡欄,表格視圖單元格是爲速度而手動繪製的,而且一些視圖很複雜並且可以用許多子視圖進行擴展。
我在考慮是否開始使用接口生成器,但我不確定使用它的程度以及它是否值得。它更快嗎?事情仍然可以輕鬆定製?
任何建議將是最受歡迎的!
我想知道更多關於在開發iPhone/iPad應用程序時使用界面構建器的優缺點。我應該使用界面生成器嗎?
我已經寫了一個相當複雜和定製的應用程序,它現在在app store上,但所有的接口都是手工編碼的,因爲它們相當複雜。我已經定製了具有背景的導航和選項卡欄,表格視圖單元格是爲速度而手動繪製的,而且一些視圖很複雜並且可以用許多子視圖進行擴展。
我在考慮是否開始使用接口生成器,但我不確定使用它的程度以及它是否值得。它更快嗎?事情仍然可以輕鬆定製?
任何建議將是最受歡迎的!
絕對沒有理由不使用它。有一件令人驚訝的事情是他們在使用其他圖形用戶界面工具的經驗,爲他們生成代碼或其他一些混亂的事情。然後,問題變得很難往返接口,因爲將這些更改推回發出的代碼非常複雜,所以一旦生成它們,就不能輕鬆修改它們。
Interface Builder不生成代碼,它使用NSArchiver來讀取和寫入GUI的實際對象圖。這具有很多好處,首先您可以輕鬆地對界面進行往返並進行增量更改。它真的很好,使用它。 :-)
沒有利弊。 爲什麼不使用它?它使一切更容易:)
就我個人而言,我發現Interface Builder非常棘手,但有時它並不公開所有我想編輯的屬性(儘管在新版本中這可能已經改變),所以通常我我傾向於用代碼創建我的用戶界面。
如果確實使用Interface Builder,請務必考慮本地化。 Apple的iPhone Developer docs建議NIB是一個可以翻譯的本地化資源。這樣翻譯者就可以看到新文本是否適合該視圖。不幸的是,這意味着翻譯者需要能夠打開NIB文件並對其進行編輯(或者開發人員需要參與翻譯過程)。
個人而言,我更喜歡提供本地化的文本資源,並將代碼中的文本設置爲UI。然後,我在Localizable.strings文件中提供註釋,說明文本可以存在多長時間,並提供翻譯器可能需要的任何上下文。
如果您必須動態生成視圖,您將如何利用IB? – 2013-04-12 13:15:16
@ pgpb.padilla通常你可以編寫你用來在IB中構建視圖的組件,然後根據你的動態生成需要實例化它們。一個常見的例子就是一個表格,其中每一行都是一個獨立的視圖,可以即時生成。較小的元素並在IB中構建,而較大的配置是動態管理的。你有什麼樣的動態世代? – Ukko 2013-04-12 17:19:00
我想我明白你的意思了,我在想的是:假設你使用了一個具有UI規範的JSON服務:控制標識符,類型(日期,輸入,標籤等)。根據傳遞給服務的參數,控件的數量是可變的。 – 2013-04-14 03:09:10