Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在xCode故事板中使用视图,但框架不是';不合适_Iphone_Ios_Objective C_Xcode_Subview - Fatal编程技术网

Iphone 在xCode故事板中使用视图,但框架不是';不合适

Iphone 在xCode故事板中使用视图,但框架不是';不合适,iphone,ios,objective-c,xcode,subview,Iphone,Ios,Objective C,Xcode,Subview,我试图在XCode 5中的屏幕底部安装一个子视图,但在运行应用程序时,它会在底部留下一个20px的空间 我也改变了三角洲,不知道是什么引起的 我的代码如下所示: [bannerView setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView.frame.size.width, [UIScreen mainScreen].bounds.size.he

我试图在XCode 5中的屏幕底部安装一个子视图,但在运行应用程序时,它会在底部留下一个20px的空间

我也改变了三角洲,不知道是什么引起的

我的代码如下所示:

[bannerView setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView.frame.size.width,
                                [UIScreen mainScreen].bounds.size.height-bannerView.frame.size.height - [UIApplication sharedApplication].statusBarFrame.size.height,
                                bannerView.frame.size.width,
                                bannerView.frame.size.height
                                )];
我的代码如下所示:

- (void)viewDidLoad
{
    [super viewDidLoad];


    // Load Ad

   self.bannerView.requestURL = @"http://adsivv.com/md.request.php";
  self.bannerView.delegate = self;



- (void) viewWillLayoutSubViews {

    NSLog(@"bannerView frame: %@", NSStringFromCGRect(bannerView.frame));

    [bannerView setFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-bannerView.frame.size.width,
                                    [UIScreen mainScreen].bounds.size.height-bannerView.frame.size.height - [UIApplication sharedApplication].statusBarFrame.size.height,
                                    bannerView.frame.size.width,
                                    bannerView.frame.size.height
                                    )];

}

*编辑-我知道怎么了。CGRectMake()的前两个参数是x和y。 您可能希望将x保持在0,并将y向下移动。对于这些参数,您使用的是全宽和全高,这可能会使视图过于向右。看一看

此代码应将横幅广告视图放置在屏幕上:

- (void)viewWillLayoutSubViews {
    [super viewWillLayoutSubViews];

    [self.bannerView setFrame:CGRectMake(0.0f,
                                0.0f,
                                self.bannerView.frame.size.width,
                                self.bannerView.frame.size.height
                                )];

    [self.view bringSubViewToFront:self.bannerView];
}
就在那一行之前:

NSLog(@"bannerView frame: %@", NSStringFromCGRect(bannerView.frame));

然后进行相应的调整。

另外,是否在-viewWillLayoutSubViews中调用代码?那是我放的地方。不,我不会把我的代码放在那里的,马特。我还没有创建那个类。你说“相应调整”,但我到底建议什么?很抱歉问了这么多问题,但谢谢你的帮助好的,我现在开始工作了,马特,谢谢!除了它没有在iPhone4上显示,lol。只在iPhone5上显示。有什么我应该通过编程来更改的吗?-viewWillLayoutSubViews是所有视图控制器都有的方法。你能用我答案中的代码编辑你的问题吗?把它放在你的代码之前和之后。不知道为什么它没有出现在任何其他尺寸的手机上。您必须在前后显示一些帧大小的日志,以便我查看。