美文网首页iPhone应用开发
新手遇到的第一个问题 2020-05-03

新手遇到的第一个问题 2020-05-03

作者: chenhongqi | 来源:发表于2020-05-03 20:22 被阅读0次

    鉴于拖拖拽拽这种布局的方式一向是我厌恶的。所以一开始就决定用纯代码的方式写iPhone程序。

    第一步:(按网上资料 OK)

    1.创建一个工程;

    2.删除 stroryboard 文件

    3.删除SceneDelegate.swift文件

    4.置空工程文件属性中 info属性里面的Main storyboard file base name

    5.删除Info.plist文件中的 Main storyboard file base name 项,和 Application Scene Manifest项

    6.修改AppDelegate文件,

        (6.1)删除后面的两个函数

     func application(_application:UIApplication, configurationForConnecting connectingSceneSession:UISceneSession, options:UIScene.ConnectionOptions) ->UISceneConfiguration{

    }

     func application(_application:UIApplication, didDiscardSceneSessions sceneSessions:Set) {

    }

        (6.2)在didFinishLaunchingWithOptions函数里面,给定rootViewController

            window = UIWindow(frame: UIScreen.main.bounds)

            window?.rootViewController = your_rootViewController  

            window?.makeKeyAndVisible()

            return true

    7.运行OK,没问题

    第二步:添加UITabBarController

    1.自定义一个UITabBarController的子类HQTabBarViewController

    2.自定义几个UIViewController的子类作为标签页

    在viewDidLoad()方法里面设置tabBarItem.title, tabBarItem.image,设置其他UI

    3.修改AppDelegate的didFinishLaunchingWithOptions方法

        let rootViewController =HQTabBarViewController()

        rootViewController.viewControllers = [viewController1 ,viewController2, viewController3]   

        window?.rootViewController= rootViewController

    4.运行,tabBarItem不显示!!!!

    --------------------------------------------------------------------

    第一个遇到的问题是:给UITabBarController添加的TabBarItem首次启动时不显示文字和图片。点击后才会显示。

    搜索某度,简直......,大家都知道。

    找找stackoverflow吧,有人遇到了和我一样的问题。

    ------------------------------------------------------------------

    原因:

    ViewController里的View是个Lazy,不到必要的时候不会加载,

    这个和android里的ViewPager预加载不同。因为Lazy,所以没有加载,就不会调用viewDidLoad方法,没有调用viewDidLoad方法,当然就不会显示设置的title和图片了。

    解决方法:

    知道了原因,解决办法也就有了:把设置图片和title的语句放到AppDelegate的didFinishLaunchingWithOptions方法里面。

    运行,一切OK。

    相关文章

      网友评论

        本文标题:新手遇到的第一个问题 2020-05-03

        本文链接:https://www.haomeiwen.com/subject/kqsjghtx.html