ios-如何根据设备类型启动特定的视图

问题描述

如何根据设备类型启动特定的视图
在启动时候有三个视图,想要实现的是可以根据设备类型来选择三个中的一个。目前我写的代码在AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    // 应用启动后重写制定    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568.0) {        self.viewController = [[ViewController alloc] initWithNibName:@""ViewController_Portrait5"" bundle:nil];    }    else if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 480.0) {        self.viewController = [[ViewController alloc] initWithNibName:@""ViewController_Portrait4"" bundle:nil];    }    else {        self.viewController = [[ViewController alloc] initWithNibName:@""ViewController_PortraitPad"" bundle:nil];    }}

但是运行之后,应用启动的时候屏幕一片漆黑。
怎么解决,谢谢。

解决方案

在方法的最后添加:

self.window.rootViewController = self.viewController;[self.window makeKeyAndVisible];

解决方案二:
用以下代码,更简洁一些。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    NSString *nibName;    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {        nibName = @""ViewController_PortraitPad"";    } else {        if ([UIScreen mainScreen].bounds.size.height == 480.0) {            nibName = @""ViewController_Portrait4"";        } else {            nibName = @""ViewController_Portrait5"";        }    }    self.viewController = [[ViewController alloc] initWithNibName:nibName bundle:nil];    self.window.rootViewController = self.viewController;    [self.window makeKeyAndVisible];
时间: 2025-01-19 03:20:03

ios-如何根据设备类型启动特定的视图的相关文章

iOS 怎么获取button触点在父视图中的位置

问题描述 iOS 怎么获取button触点在父视图中的位置 场景:一个scrollview上加了一些button,现在点击button,想要通过触摸点在父视图中的位置,来设置scrollview的contentoffset属性,那么我要怎么获取点坐标呢 解决方案 CGRect frame = [self.button convertRect:self.button.bounds toView:self.scrollView]; 解决方案二: UITouch *touch = [touches a

ios重用视图-iOS,重用一个自己定义的视图

问题描述 iOS,重用一个自己定义的视图 像tableview的cell和mapview的anonation那样重用,自己写的一个视图该怎么让它的父视图去重用它? 解决方案 举个例子,你自己有个ScrollView,里面有很多重复的view,然后scrollView可以滑动,实际被显示出来的只有屏幕内的视图 所以你要建立两个array,一个是用来引用正在显示的view,标记为arrayA,一个用来引用屏幕外的view(也就是可重用的视图),标记未arrayB 当你滑动列表时,就动态判断,哪些视图

ios ui uiview-Ios 请问 让多个视图同时旋转,每秒钟改变其中视图的颜色。

问题描述 Ios 请问 让多个视图同时旋转,每秒钟改变其中视图的颜色. 要实现多个视图同时旋转并且每过一秒钟改变一个视图的颜色要怎么实现? 解决方案 用transitionFromView,来旋转视图,然后自己控制视图颜色backgroundColor

iOS实现列表与网格两种视图的相互切换_IOS

下图为京东商城的截图 很多人看到这个,第一眼想到的是用TableView和CollectionView来做切换,笔者刚开始也是认为这么做,后来发现还有一个非常的简单方法,就可以实现这个功能. 实现代码 1.首先创建一个CollectionView. - (UICollectionView *)collectionView { if (!_collectionView) { UICollectionViewFlowLayout *flowlayout = [[UICollectionViewFlo

iOS中的应用启动原理以及嵌套模型开发示例详解_IOS

程序启动原理和UIApplication 一.UIApplication1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序. (2)每一个应用都有自己的UIApplication对象,而且是单例的,如果试图在程序中新建一个UIApplication对象,那么将报错提示. (3)通过[UIApplicationsharedApplication]可以获得这个单例对象 (4) 一个iOS程序启动后创建的第一个对象就是UIAppli

详解iOS应用程序的启动过程_IOS

关键步骤一个程序从main函数开始启动. 复制代码 代码如下: int main(int argc, char * argv[]) {     @autoreleasepool {         return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));     } } 可以看到main函数会调用UIApplicationMain函数,它的四个参数的意思是: argc: 代表程序在进入ma

iOS 会话列表每次启动程序后进入没有数据

问题描述 iOS我抽取了单聊功能和 会话列表功能出来,但是现在会话列表每次启动后进入都没有数据,点开单聊后回到会话列表才有数据,请问这要怎么解决??是我的数据没有保存到数据库还是没有调用什么方法获取数据? 解决方案 聊完的时候会话里面有数据  ,但是每次重新启动的时候就没了,怎么办?

用iOS代码获取APP启动页图片_IOS

用代码获取APP启动页图片  // // AppleSystemService.swift // Swift-Animations // // Created by YouXianMing on 16/8/11. // Copyright 2016年 YouXianMing. All rights reserved. // import UIKit class AppleSystemService : NSObject { /** Get the lauch image. - returns:

iOS App开发中的UIStackView堆叠视图使用教程_IOS

一.引言随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView正好可以解决这样的问题. 二.在storyBoard上初识StackViewUIStackView是一个管理一组堆叠视图的控制器