current position:Home>IOS startup project (I) setting rootviewcontroller
IOS startup project (I) setting rootviewcontroller
2022-01-27 03:30:49 【I'm crazy about Pisces】
Abstract
Just created a new project , stay
AppDelegate
Set inrootViewController
To determine the home page of the application is the most basic processing , Because it is an infrequent process , So it's easy to ignore one of these steps , As a result, it cannot be set successfully . So write it down , For quick discovery .
Just created a iOS project , The application will be set first rootViewController
, That is, the home page of the application . The general operation code is as follows :
// UIViewController For home controller
let homeNav = UINavigationController.init(rootViewController: UIViewController.init())
window?.rootViewController = homeNav
window?.makeKeyAndVisible()
These three lines of code need to be written in AppDelegate
Of application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
Function .
When the above steps are completed , You'll find there's no window
object , Then we need to AppDelegate
Set in window
Attribute variables :
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
......
}
Come here , There is no error in the project , Just run the application , Long compilation 、 After the process of initializing and starting the application , It is found that the home page is not the controller set by yourself .
Next, check the problem , The top three lines of code are also executed , Just interrupt and look window
object ,window
Neither nil
. Looking for a long time , It is found that further processing is needed .
It's in the project , choice Info
Options , notice Custom iOS Target Properties
In the list , Delete Application Scene Manifest
Options .
Now , Run the project again , You can successfully jump to your own home page .
that ,Application Scene Manifest What is it? , Why does it affect the setting of the home page ?
Find development documentation , notice UIApplicationSceneManifest Explanation of the options , The answer was found in the detailed explanation : If in plist Set this option in the file , Then the application supports scenes
, And not in AppDelegate
Handle page switching in .
Discussion
The presence of this key indicates that the app supports scenes and does not use an app delegate object to manager transitions to and from the foreground or background.
When a new project is created , It will be found that in addition to AppDelegate.swift
Outside the document , One more SceneDelegate.swift
file . And this file can only be in iOS 13 And above . At present, it is not very sure about the connection and difference between the two documents , What kind of scene to use SceneDelegate
object , Learn more later , Use it again .
Digression
Hasty time , What you say may not be comprehensive , What problems did you encounter in the process of viewing , Leave me a message in the comment area , I will reply as soon as possible .
copyright notice
author[I'm crazy about Pisces],Please bring the original link to reprint, thank you.
https://en.cdmana.com/2022/01/202201270330453641.html
The sidebar is recommended
- Spring IOC container loading process
- [thinking] the difference between singleton mode and static method - object-oriented programming
- Hadoop environment setup (MySQL environment configuration)
- 10 minutes, using node JS creates a real-time early warning system for bad weather!
- Git tool
- Force deduction algorithm - 92 Reverse linked list II
- What is the sub problem of dynamic programming?
- C / C + +: static keyword summary
- Idea does not have the artifacts option when configuring Tomcat
- Anaconda can't open it
guess what you like
-
I don't know how to start this
-
Matlab simulation of transportation optimization algorithm based on PSO
-
MySQL slow log optimization
-
[Vue] as the window is stretched (larger, smaller, wider and higher), the text will not be displayed
-
Popular Linux distributions for embedded computing
-
Suzhou computer research
-
After installing SSL Certificate in Windows + tomcat, the domain name request is not successful. Please answer!!
-
Implementation time output and greetings of jQuery instance
-
The 72 year old uncle became popular. Wu Jing and Guo fan made his story into a film, which made countless dreamers blush
-
How to save computer research
Random recommended
- Springboot implements excel import and export, which is easy to use, and poi can be thrown away
- The final examination subjects of a class are mathematical programming, and the scores are sorted and output from high to low
- Two pronged approach, Tsinghua Professor Pro code JDK and hotspot source code notes, one-time learning to understand
- C + + recursive knapsack problem
- The use of GIT and GitHub and the latest git tutorial are easy to understand -- Video notes of crazy God speaking
- PostgreSQL statement query
- Ignition database test
- Context didn't understand why he got a high salary?, Nginxfair principle
- Bootstrap switch switch control user's guide, springcloud actual combat video
- A list that contains only strings. What other search methods can be used except sequential search
- [matlab path planning] multi ant colony algorithm grid map path planning [including GUI source code 650]
- [matlab path planning] improved genetic algorithm grid map path planning [including source code phase 525]
- Iinternet network path management system
- Appium settings app is not running after 5000ms
- Reactnative foundation - 07 (background image, status bar, statusbar)
- Reactnative foundation - 04 (custom rpx)
- If you want an embedded database (H2, hsql or Derby), please put it on the classpath
- When using stm32g070 Hal library, if you want to write to flash, you must perform an erase. If you don't let it, you can't write continuously.
- Linux checks where the software is installed and what files are installed
- SQL statement fuzzy query and time interval filtering
- 69. Sqrt (x) (c + + problem solving version with vs runnable source program)
- Fresh students are about to graduate. Do you choose Java development or big data?
- Java project: OA management system (java + SSM + bootstrap + MySQL + JSP)
- Titanic passenger survival prediction
- Vectorization of deep learning formula
- Configuration and use of private image warehouse of microservice architect docker
- Relearn JavaScript events
- For someone, delete return 1 and return 0
- How does Java dynamically obtain what type of data is passed? It is used to judge whether the data is the same, dynamic data type
- How does the database cow optimize SQL?
- [data structure] chain structure of binary tree (pre order traversal) (middle order traversal) (post order traversal) (sequence traversal)
- Webpack packaging optimization solution
- 5. Operation element
- Detailed explanation of red and black trees
- redhat7. 9 install database 19C
- Blue Bridge Cup notes: (the given elements are not repeated) complete arrangement (arrangement cannot be repeated, arrangement can be repeated)
- Detailed explanation of springboot default package scanning mechanism and @ componentscan specified scanning path
- How to solve the run-time exception of test times
- Detailed explanation of k8s management tool kubectl
- Android system view memory command