zoukankan      html  css  js  c++  java
  • iOS 5 编程应用选项卡栏控制器(UITabBarController)创建App

    选项卡栏控制器(UITabBarController)-用户触摸不同的选项卡,应用程序在不同的场景间切换,每一个场景都呈现了App的一项功能。

    选项卡栏控制器(UITabBarController)管理的场景必须包含一个选项卡栏项(UITabBarItem),它包含标题、图像和徽章(包含数字的红圈)。App运行图中有展示。

    范例App运行界面如下图所示:

    如下修改选项卡栏按钮属性?

    要修改选项卡栏按钮,必须在相应的场景中进行,而不能在选项卡栏控制器场景中进行修改。选择场景视图中的选项卡栏项(UITabBarItem),然后在Attributes Inspector窗口,维护相应的属性。


    可以自定义图像和标题,如上图的Bar Item部分的设置。文本框Title用于设置选项卡栏项的标签,而下拉列表Image可以让项目中的图像资源关联到选项卡栏项。图像不能大于32*32点,iOS 将自动设置其样式,使其变成单色的。

    如何在选项卡栏管理的场景之间共享数据?

    和前面的iOS 5 编程(7)-应用导航控制器(UINavigationController)一样,在每个场景中通过parentViewController 获取选项卡栏控制器(UITabBarController)对象,然后就可以访问该对象的共享属性了。

    下面有一段范例代码:

    - (void)updateCounts{
    NSString *countString;
    countString = [[NSString alloc] initWithFormat:
    @”场景1:%d\n场景2:%d\n场景3:%d”,
    ((DemoTabBarController *)self.parentViewController).firstCount,
    ((DemoTabBarController *)self.parentViewController).secondCount,
    ((DemoTabBarController *)self.parentViewController).thirdCount];

    self.countLabel.text = countString;
    }

    如何创建选项卡栏和场景之间的连接?

    按住Control 键,从文档大纲中的Tab Bar Controller 拖曳到场景中,在Xcode 要求指定切换类型时,选择 Relationship – viewControllers。

    选项卡栏和工具栏的区别?

    选项卡栏用于在App的不同功能区域切换,而工具栏用于在同一个功能区域指向不同的功能。

    范例App中的部分代码:

    下面这段代码负责更新显示的计数器值,读取徽章(包含数字的红圈),转换为整数,在加1,然后再转换为字符串,这是因为badgeValue 是一个NSString,而不是整数。

    - (void)updateBadge{
    NSString *badgeCount;
    int currentBadge;
    currentBadge = [self.barItem.badgeValue intValue];
    currentBadge++;
    badgeCount = [[NSString alloc] initWithFormat:@”%d”, currentBadge];
    self.barItem.badgeValue = badgeCount;
    }

  • 相关阅读:
    反悔贪心 学习笔记
    「CF901C」Bipartite Segments 题解
    「HEOI2015」公约数数列 题解
    拓展欧拉定理
    莫比乌斯反演题目选做
    八月水题录
    chapt15、使用虚拟内存
    chapt16、线程堆栈
    chapt14、探索虚拟内存
    get files version by vbs
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/2727844.html
Copyright © 2011-2022 走看看