3种不同的故事板,用于不同的设备编程和3种不同的iAd版本

时间:2014-10-01 19:47:26

标签: ios objective-c iphone xcode ipad

您好我的应用程序有3.5英寸的屏幕,所以我虽然为iPhone 3.5版本创建另一个故事板文件,虽然我已经有一个工作的iPad和iPhone 4英寸版本工作。我的问题是每个设备可以有3个故事板吗?1个用于iPhone 4英寸主要用于3.5英寸iphone和iPad以及如何识别iAd高度以及它适用于2个版本的iPad和iPhone但是无法弄清楚3继承人iAd的代码

- (AppDelegate *) appdelegate {
    return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}

-(void) viewWillAppear:(BOOL)animated{
    _UIiAD = [[self appdelegate] UIiAD];
    _UIiAD.delegate = self;
    //checkts whether you are running on iPad,or iphone to get the banner to correct possition
        if ( IDIOM == IPAD ) {
            [_UIiAD setFrame:CGRectMake(0,960,320,50)];
        } else {
            [_UIiAD setFrame:CGRectMake(0,521,320,50)];

    }
    [self.view addSubview:_UIiAD];

}
-(void) viewWillDisappear:(BOOL)animated{
    _UIiAD.delegate = nil;
    _UIiAD=nil;
    [_UIiAD removeFromSuperview];
}

-(void)bannerViewDidLoadAd:(ADBannerView *)banner{
    NSLog(@"ads loaded");
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
    [_UIiAD setAlpha:1];
    [UIView commitAnimations];
}

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{
    NSLog(@"ads not loaded");
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:1];
    [_UIiAD setAlpha:0];
    [UIView commitAnimations];
}

也需要为3.5做这件事并且无法弄明白 至于关于3个不同故事板的连接,我得到了这个字符串 在我的plist文件

主要故事板文件基本名称 主要故事板文件基本名称(iPad) 我应该简单地创建新的字符串 主要故事板文件基本名称(iPhone) 并挂钩我创建的故事板文件? 或者任何人都可以告诉我一个更简单的解决方案,可能在Xcode 6中有约束,尽管我仍然试图弄清楚它是如何工作的 谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要为3.5英寸设备单独创建故事板。只需在应用程序中全局定义下面的宏,就可以检查各种设备。

`#define IS_IPAD(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)

定义IS_IPHONE(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPhone)

定义IS_IPHONE_5(IS_IPHONE&& [[UIScreen mainScreen] bounds] .size.height == 568.0f)

定义IS_IPHONE_4(IS_IPHONE&& [[UIScreen mainScreen] bounds] .size.height == 480.0f)

定义IS_RETINA([[UIScreen mainScreen] scale] == 2.0f)

定义IDZTrace()NSLog(@"%s", PRETTY_FUNCTION

` 只需将IS_IPHONE_4检查为3.5英寸设备并应用您的相关逻辑。您还可以使用自动布局和约束。如果您不清楚约束和自动布局概念,请关注http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1