我有一个iPhone应用程序,它有一个故事板。现在我还想提供一个iPad应用程序。我问自己是否有一个函数可以帮助我将iPhone的故事板转换成iPad的故事板。
具体来说:
是否有类似的功能,还是只有手动的方式?
我有一个iPhone应用程序,它有一个故事板。现在我还想提供一个iPad应用程序。我问自己是否有一个函数可以帮助我将iPhone的故事板转换成iPad的故事板。
具体来说:
是否有类似的功能,还是只有手动的方式?
当前回答
1. Create New Storyboard file with MainStoryboard_iPad.storyboard
2. Copy All the views from MainStoryboard and paste to MainStoryboard_iPad.storyboard
其他回答
不同的方法
在iPad-Storyboard中添加一个带有Navigation-Controller的empty-View-Controller 将类更改为你的第一个用于iPhone的ViewController的类"fooViewController" 为第一个ViewController添加iPhone-Storyboard "fooViewController_storyboard_identifier"中的Storyboard-Identifier 转到fooviewcontroller。m 添加bool变量bool nibWasLoadForIpad=false 进入viewDidLoad-Method
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && !nibWasLoadForIpad) { nibWasLoadForIpad = true; UIStoryboard* Storyboard_iphone=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle: nil]; fooViewController *controller = [Storyboard_iphone instantiateViewControllerWithIdentifier:@"fooViewController_storyboard_identifier"]; (自我。导航控制器pushViewController:控制器动画:YES]; 自我。modalPresentationStyle = UIModalPresentationCurrentContext; }
(ps.知道的问题是视图背景将被设置为白色)
这个功能现在是内置的。例如,如果将“部署信息->设备”中的项目设置从iPhone更改为Universal,则会出现以下对话框:
谢谢大家的回答。
我遵循了上述步骤,但当我在模拟器或iPad下运行应用程序时,它只使用iPhone故事板继续运行。
由于某种原因,当我将目标设备改为Universal而不是iPhone时,Xcode (v5.0)没有更新app-Info。plist文件来包含iPad故事板,所以我必须手动添加以下条目(使用Xcode中的plist编辑器):
主故事板文件基名(iPad) ==> MainStoryboard_iPad
对于那些可能对我的观点有异议的人,我想简短地提醒一下:
我的问题:
故事板内容很好地复制到我添加的新板文件中。但是,它不会将更改转移到我配备的iPad上。注意到我必须为构建目标切换指定的故事板(见图),让更改显示出来。
如果我有点,我会张贴一个图像,但设置位于:
左侧源菜单上的项目导航器,项目的根目标(中心窗格)一般选项卡,(第二子标题)部署信息,选择iPad按钮选项卡。
从那里,在“主界面”下选择你的故事板。
谢谢你的帖子,我希望这能帮助你解决问题。
只是为了好玩,在XCode 5.1和iOS 7.1上,我还需要改变“toolVersion”和“systemVersion”的值:
toolsVersion="5023" systemVersion="13A603"
如果没有这个,新的故事板文件将无法编译