热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【一步一步学IOS5】Storyboard创建TabBar控

下面,我们来继续完善Storyboard 项目   1)如何创建Tab B ar 控制键 2)如何使用UIWebView创建About页面   1.Tab

下面,我们来继续完善Storyboard 项目

 

1)如何创建Tab B ar 控制键

2)如何使用UIWebView创建About页面

 

1.Tab Bar控制器 和UIWebView

 

Tab Bar 控制器在每一个tab中显示一个独特的视图,通常,一个Tab Bar 至少包含2个tab s ,根据需要最多可以添加5个tabs

 

UIWebView 是加载web内容的轻便组组件。在一些情况下,你希望在App中显示一个单一的web页面,或者让用户在App中访问外部web页面。你可以在App中简单嵌入UIWebView对象,向它发送请求,加载web内容。

 

2.创建Tab Bar控制器

 

现在返回Xcode 项目,首先,选择MainStoryboard.storyboard 中的Navigation Controller ,接着选择Editor 菜单下面的 Embed in 子菜单,然后选择Tab Bar Controller 选项

 

此时,Xcode自动将导航控制器嵌套到一个tab bar控制器中。

 

3.更改Tab Bar 子项名称

 

默认情况下,Tab Bar 子项没有名称,也没有图标。在导航控制器中选择tab子项,你可以在Attributes Inspector 窗口,自由修改名称,并指定图标。Tab Bar 子项默认为custom 标识符。当设定为custom时,意味着你需要手动指定标题(title)和图标。

 

你也可以使用一些内置的tab bar 项目(如More、Favorites 和 T op Rated 等等),这些已经包含了图标。这里为了简化教程,使用这些内置的项目。选择Featured 作为标识符

 

 

4.运行App

 

现在可以运行App了。点击Run按钮,界面如下:

 


【一步一步学IOS5 】 Storyboard 创建Tab Bar控制器和Web视图

5.添加一个新的Tab

 

你可以使用tab bar 界面来组织不同的操作模式。每一个tab包含特定的功能。显然,在使用tab bar控制器时,在App中至少包含2个tabs。因此,我们将创建一个新的tab,用于显示App和About页面。

 

拖拉一个Navigation Controller 对象到Storyboard中。默认的导航控制器和表视图(Table View)控制器相关联。

 

接着,我们需要在新的导航控制器(Navigation Controller)和现存的Tab Bar 控制器之间建立关联。按住Control 键,点击Tab Bar 控制器,并拖到新的导航控制器上。

 

释放按钮,弹出一个下拉菜单,选择Relationship-View Controllers 选项,这样告诉Xcode:新的导航控制器是Tab Bar控制器的一部分。

 

一旦建立上述关联,Tab Bar控制器自动添加一个新的Tab,并关联到新的导航控制器上。

 

更改新的导航控制器的tab bar 子项为More。保存Stroyboard。再次运行App。

 

界面如下:

 


【一步一步学IOS5 】 Storyboard 创建Tab Bar控制器和Web视图

6.使用UIWebView 创建About界面

 

现在More tab 是空白的,我们将实现一个web视图,显示App的About页面,首先,删除Table View Controller,并替换为一个View Controller。简单选择Table View Controller,点击Delete 按钮移除它,接着从对象库拖拉View Controller对象到storyboard界面

 

现在,空白的View Controller 并没有和导航控制器相关联。我们需要关联它们。按住Control键,选择导航控制器,并拖拉到View Controller上。

 

和我们之前做的一样,选择RelationShip - View Controllers 选项。

 

这个视图控制器的主要目的是呈现About web页面。iOS SDK 有一个内置的UIWebView 对象可用来显示web内容。你可以简单嵌入UIWebView 对象到任一视图控制器中,随后向它发送一个HTTP请求,它将自动装在Web内容。

 

在对象库找到Web View控件,并添加到视图控制器中。

 

7.赋值新的视图控制器类

 

和前面提到过一样,一个空白的视图控制器赋值为默认的UIViewController 类,它仅仅提供了基本的视图管理模型。显然,它没有提供控制UIWebView的变量。我们必须创建一个新的视图控制器类,继承自UIViewController类。

 

在项目导航中,右击RecipeBook 文件夹,选择New File...

 

设置类名为AboutViewController,并设置Subclass of 选项为UIVie wController,确定没有勾选With XIB for user interface选项。因为我们使用Storyboards 来设计用户界面,因此不必创建独立的interface builder 文件。点击next 按钮,并保存文件到项目文件夹中。

 

接着,赋值视图控制器为AboutViewController类。

 

操作步骤: 返回Storyboards 编辑器,选择视图控制器,然后在Identity Inspector窗口,更改class 属性值为 AboutViewController。

 

8.使用UIWebView加载请求

 

为了请求UIWebView加载Web内容,我们必须编写几行代码。

 

1)在Xcode 项目中添加about.html 页面 和about.jpg 文件

 

2)为UIWebView 创建一个变量,并和Storyboard 中的Web视图对象建立关联

 

3)使用UIWebView 中loadRequest:方法加载web内容;

 

8.添加About.html 文件

 

文件见附件

 

9.为UIWebView 创建一个变量

 

选择AboutViewController.h 文件,为UIWebView 添加一个property

 


@interface

AboutViewController :

UIViewController

 

@property

(

nonatomic

,

strong

)

IBOutlet



UIWebView


*webView;

 

@end

 

切换到AboutViewController.m 文件。添加 synthesize 指令

 

@implementation AboutViewController

 

@synthesize

webView;

 

和通常一样,需要建立webView 变量和可视化web视图控件之间的连接。在Storyboards 编辑器,按住Control键,并点击View Controller图标,拖拉到Web View 对象上,释放按钮,在弹出的下拉菜单中,选择webView变量。

 

10.加载web内容

 

在webDidLoad 方法,添加如下代码加载about.html 页面内容:

 

- (

void

)viewDidLoad

{


    [


super



viewDidLoad

];





//And code to load web content in UIWebView


   


NSURL


*url = [


NSURL



fileURLWithPath

:[[


NSBundle



mainBundle

]

pathForResource

:


@"about.html"



ofType

:


nil


]];

   

NSURLRequest

*request = [

NSURLRequest


requestWithURL

:url];

    [

webView


loadRequest

:request];

}

 

UIWebView 类提供了一个便利的方法loadRequest: 来加载web内容,你需要做的是传入一个URL请求,上述代码首先以NSURL 对象返回about.html 文件的系统路径,然后使用URL对象创建NSURLRequest对象。 最后一行的向web view 对象发送请求。

 

11.最后运行效果

 


【一步一步学IOS5 】 Storyboard 创建Tab Bar控制器和Web视图

 


【一步一步学IOS5 】 Storyboard 创建Tab Bar控制器和Web视图




推荐阅读
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • 深入解析8086 CPU的转移指令
    本文详细介绍了8086 CPU中的转移指令,包括无条件转移、条件转移、循环指令及过程调用等,同时探讨了offset操作符的功能及其应用实例。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
author-avatar
huangbaihao54
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有