如何在运行时更改NIB的视图Outlet?苹果手机

时间:2011-08-26 00:33:50

标签: iphone xcode uiview interface-builder runtime

基本上我正在尝试运行我的应用程序的免费版本和付费的相同代码。免费的将有应用程序,在nib文件中主视图将是UIView,付费的主视图将是UITableView。

当我在IB中的文件所有者下设置视图出口时,视图正常工作,但我无法在运行时更改它。

如何在运行时更改视图出口属性,以便我可以检查应用程序是否空闲然后将视图设为UIView,如果它不是免费的,那么UITableView是视图吗?

感谢。

编辑:我有点模糊,所以这里有更多细节。我想让iAds遍及我的应用程序,所以通过导航控制器与tableviews共享一个横幅。我想要导航栏下方和视图内容上方的横幅。为了创建横幅的空间,我使viewcontroller包含一个视图,在视图内部包含一个tableview。然后我调整表格视图的大小,使其向下以允许横幅。如果我将视图出口设置为tableview,则tableview将采用全屏及其正常。如果我将视图出口设置为UIView,同一个笔尖,我会将tableview降低空间以添加iAd。我希望我可以检查一下在运行时更改这些插座,以获得iAd的全屏tableview或部分屏幕。

可悲的是,在我得到这个之后,我不知道如何在tableviews之间分享iAd横幅。

2 个答案:

答案 0 :(得分:1)

只需制作2个笔尖,每个笔尖由2个不同的视图控制器控制,并在启动时检测应用程序的版本,并加载相应的视图控制器。

如果你想只有一个视图控制器,那也没关系。您可以创建2个单独的nib,每个nib由同一个视图控制器拥有,并在启动时检查应用程序的版本,并使用-initWithNibName:bundle:加载相应的nib。希望有所帮助!

答案 1 :(得分:1)

快速&肮脏的解决方案是同时放置UIView&同一个笔尖中的UITableView(一个在另一个上面)&在运行时隐藏其中一个。所以,你不必改变插座,只需摆脱不需要的插座。

HTH,

阿克沙伊