2011-08-26 71 views
0

基本上我試圖運行我的應用程序的免費版本和付費一個相同的代碼。免費的人將有應用程序,並在筆尖文件的主視圖將是一個UIView,付費的主視圖將是一個UITableView。如何在運行時更改NIB的視圖Outlet? iPhone

的意見,正常工作時,我設置下,文件所有者認爲出口在IB永遠一個我想要的,但我不能改變在運行時。

我怎麼能更改視圖出口屬性在運行時,所以我可以做的一樣,如果應用程序是免費,然後讓UIView的視圖的檢查,如果它不是免費的,然後的UITableView是看法?

謝謝。

編輯:我是有點含糊所以這裏更多細節。我想讓iAds遍佈我的應用程序,因此通過帶有tableviews的導航控制器共享一個橫幅。我想要導航欄下方的橫幅和視圖內容的上方。爲了爲橫幅創建空間,我使viewcontroller由視圖組成,在視圖內部使用tableview。然後,我調整表格視圖的大小,使其向下以允許橫幅。如果我將視圖插座設置爲tableview,則tableview將採用全屏幕及其正常模式。如果我將視圖插座設置爲UIView,同一個筆尖,我將tableview降低以添加iAd。我希望我可以做一個檢查,在運行時更改這些網點,以獲得全屏桌面或iAd的部分屏幕。

然而可悲的是,之後我得到這個,我不知道如何共享tableviews之間的iAd的橫幅。

回答

1

快速&骯髒的解決方案,是把兩者在同一筆尖UIView &的UITableView(一個在另一個之上)&隱藏其中的一個在運行時。所以,你不必改變插座,只是擺脫不需要的插座。

HTH,

阿克沙伊

+0

這就是我現在如何擁有它們,但我並不認爲要隱藏它們。我會給這個鏡頭看看結果如何。 – SolidSnake4444

+0

我做了一個變化。基本上我有一個出口設置爲視圖和桌面從頂部降低,以允許iAd的空間。然後,我在代碼中設置,如果它不是免費版本,那麼tableview的框架將全屏顯示,因此看起來很正常。 – SolidSnake4444

+0

酷!很高興工作! – Akshay

1

只是要2個筆尖,其分別由2個不同的視圖控制器控制,並且在啓動,檢測所述應用程序是哪個版本,並加載相應的視圖控制器。

如果你想只有1視圖控制器,這是罰款,以及。您可以製作2個獨立的筆尖,每個筆尖都由同一個視圖控制器擁有,並且在啓動時檢查該應用程序的版本,並使用-initWithNibName:bundle:加載適當的筆尖。希望有所幫助!

+0

問題的,這是我必須保持對筆尖文件。如果我更改了一個,我將不得不將該更改複製到另一個。如果沒有關於在運行時更改它的其他答案,以便我可以在兩個版本中使用一個筆尖,我會將其標記爲正確,因爲這會起作用。 – SolidSnake4444

+0

但是你不是在你的帖子中說你想要1是一個tableView,而一個是一個視圖?我會假設這兩種情況下的佈局會有所不同?因此,如果您使用2個獨立的筆尖文件,維護起來更容易嗎? – msgambel

+0

重讀我的問題後,我可以看到它有點含糊。我要編輯它,使它更有意義。 – SolidSnake4444