您好我的应用程序有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中有约束,尽管我仍然试图弄清楚它是如何工作的 谢谢!
答案 0 :(得分:0)
您不需要为3.5英寸设备单独创建故事板。只需在应用程序中全局定义下面的宏,就可以检查各种设备。
`#define IS_IPAD(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)
` 只需将IS_IPHONE_4检查为3.5英寸设备并应用您的相关逻辑。您还可以使用自动布局和约束。如果您不清楚约束和自动布局概念,请关注http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1。