2010-07-29 32 views
0

我试图调整我的应用程序的视图,只要iAd从顶部向下滚动。 问题是,在运行时,当我设置相关视图的调整大小的帧大小时,调整大小不会发生,因此iAd被绘制在顶部50个垂直像素的顶部)。在运行时在iPhone上调整UIView的大小

如果我在设计时设置UIView大小,那么我看到视图被调整大小(当我运行应用程序时)。

那么我在运行时做错了什么,导致我的调整大小不会发生?

我的控制器的笔尖的结构是这样的:

> > View 

> > View (associated with IB 'contentView') 

>  > CustomView (UIView) 

>  - ScrollView 

>  - Toolbar (top) 

>  - Toolbar (bottom) 

在代码adBannerView加入这样的: [self.view addSubView:adBannerView];

conteView的origin.y和size.height是即时更新(使其y = 50,高度=原始高度 - 50)。这应该缩小它,以便有足够的空间显示顶部的横幅(高度为50像素)。

回答

0

我解决了我的问题,但采用了解决方法。 我认为问题在于我的视图布局树相当复杂。例如,我有一个自定义UIView内的scrollviewer。 scrollviewer在运行时添加一个UIView作为它的内容。最重要的是,我试图调整各种观点。

但由于某种原因,该视图从来没有成为底部对称的(它始终是顶部对齐的)。

0

您确定该视图不是零吗?你有没有在Interface Builder中挂钩它?如果您在视图上调用-setFrame并且没有任何事情发生,那么视图可能无效。

+0

我做的一件事是在设计时通过界面构建​​器设置视图框架的origin.y和size.height。有趣的是,当我这样做时,界面生成器并不像我期望的那样,但是当我运行模拟器时它确实如此。 简而言之,问题是在运行时更新任何UIView的原点和大小,以便为iAd腾出空间(因此iAd不会与其他视图重叠)。 iAd旗帜(本身就是我认为的UIViw)显示出来的是我期望的(顶部)。 Fyi,我使用这个作为参考: www.raywenderlich.com/1371/how-to-integrate-iad-into-your-iphone-app – AlvinfromDiaspar 2010-07-29 18:40:33

+0

但是,我永远不能太确定。我当然希望我的问题是没有被正确地连接起来。我需要什么来确保我的视图有效? – AlvinfromDiaspar 2010-07-29 18:41:43

+0

您是否已将界面构建器中视图控制器的文件所有者的连接拖至相关视图?另外,您可以在调试器中设置一个断点,并在查看控制器负载时确保视图不是0x0(零)。 – 2010-07-29 18:58:38

相关问题