Xcode - 删除故事面板

删除故事面板

1 - Xcode 6 取消了 Empty Application,但是创建出来的工程多出了 Main.storyboard(默认加载)。有很多人还想用代码来实现 UI 的搭建,那么如何删除 Main.storyboard ?以 Xcode 8 为例

① 首先删除 Main.Storyboard 和 LaunchScreen.storyboard 两文件

② 选中 target-general 将 Main interface 和 Launch Screen File 置空

经上两步算是删除了工程对 Main.storyboard 的依赖,但是程序运行后会是黑屏的结果

③ 原因:APP 需要指定根视图。在 AppDelegate.m 中 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions 的方法里面创建窗口并指定根视图

复制代码
 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     
 3     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 4     self.window.backgroundColor = [UIColor whiteColor];
 5     [self.window makeKeyAndVisible];
 6     
 7     // 指定根视图
 8     ViewController *rootVC = [ViewController new];
 9     rootVC.view.backgroundColor = [UIColor cyanColor];
10     self.window.rootViewController = rootVC;
11     
12     return YES;
13 }
复制代码

运行效果:存在黑边

 

原因:对比一下版本 Xcode 6 后的工程就会发现 Xcode 6 是 Images.xcassets 文件,而之后的版本是 Assets.xcassets。细看里面具体的内容就会很清楚地看到它们实际上都是读取里面的 Json 文件来识别尺寸图片。不同点是 Assets 里面压根就没有 LaunchImage.launchimage 文件,这就大致解释了无法全屏显示的原因。如果想深入分析可进入到 BrandAssets.launchimage 和 LaunchImage.launchimage 文件中去查看下 Json 数据就会明白

④ 如何实现全屏

    方式一:在 info.plist 文件里新增键值对儿(字符串类型) Launch screen interface file base name = nil

    方式二:选中 Assets.scassets 文件,在右旁区域右键选择 New Image Set,命名 LaunchImage。然后在 info.plist 文件里新增键值对儿(字符串类型) Launch screen interface file base name = LaunchImage

 

posted on   低头捡石頭  阅读(77)  评论(0编辑  收藏  举报

编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示