每当iAd从顶部向下滚动时,我都会尝试调整应用视图的大小。 问题是在运行时,当我设置相关视图的调整大小的帧大小时,调整大小不会发生9因此iAd在前50个垂直像素的顶部绘制。)
如果我在设计时设置UIView大小,那么我会看到视图已调整大小(当我运行应用程序时)。
那么我在运行时做错了什么导致我的调整大小没有发生?
我的控制器NIB的结构如下所示:
> > 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 :(得分:0)
你确定视图不是零吗?你在Interface Builder中挂了吗?如果您在视图上调用 -setFrame 并且没有任何操作,则视图可能无效。
答案 1 :(得分:0)
我解决了我的问题,但是以一种解决方法。 我认为问题是我的视图布局树非常复杂。例如,我在自定义UIView中有一个scrollviewer。 scrollviewer在运行时添加了UIView作为其内容。最重要的是,我试图调整各种观点。
但出于某种原因,这些观点从来没有成功(它始终是最合理的)。