Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件

在FireMonkey iOS应用程序中使用WebBrowser

在iOS平台上,FireMonkey使用TWebBrowser组件来封装Web Browser。这篇文单讲述了如何在iOS上创建一个简单的FireMonkey浏览器程序。

第一步:设计界面

 

1.        选择File>New>FireMonkey Mobile Application – Delphi>BlankApplication。

2.        在Tool Palette中选择TToolBar组件,然后拖到FireMonkey Mobile Form Designer上去。

要找到TToolBar,在ToolPalette的搜索框中输入开头的几个字母(“tool”):

3.        在你拖好控件之后,你就可以在Form Designer的顶部看到这个TComboBox组件了:

4.        在Tool Palette中选择TButton组件,并拖放到ToolBar上面。

5.        在Mobile Form Designer上选中Button组件,然后在Object Inspector中的StyleLookup属性中选择priortoolbuttonbordered。

Tbutton的priortoolbuttonbordered这个StyleLookup值在iOS Style中会添加一个返回按钮标签:

更多关于在FireMonkey iOS应用程序中选择Style的细节,请查看“Delphi for iOS开发指南(4):在iOS应用程序中使用不同风格的Buttin组件”。

6.        在Tool Palette中选择TEdit组件并拖放到ToolBar上面。确保Edit控件的尺寸填充ToolBar的空余区域:

7.        在Tool Palette中选择TWebBrowser组件并拖放到窗体上面。

8.        在Mobile Form Designer上选中WebBrowser组件,然后在Object Inspector中的Align属性设置为alClient。

在完成这些步骤后,窗体看出来应该是如下图所示:

第二步:编写一个事件处理过程,当用户更改URL文本框时打开一个网页

与桌面平台不一样的是,Mobile Device使用如下图所示的Virtual Keyboard来输入文字。用户可以通过点击“Done”或“Return”来完成这个动作。

FireMonkey提供一些事件处理过程来处理用户操作的响应。在“Done”按钮按下的时候,FireMonkey框架发送一个OnChange事件给TEdit控件。另一方面,“Return”按钮没有相应的事件。在这节中,你实现事件处理过程来同时支持这两种情况。

实现打开网页的共用方法

在实现事件处理过程之前,首先实现一个打开网页的共用方法,使用Edit控件的Text属性。

1.  在Code Editor中,创建下面代码:

  1. procedure OpenURL; next to{ Private declarations }

2.按下CTRL+SHIFT+C来在文件的末尾创建一个占位符:

3.按下面的代码片断来实现这个OpenURL方法:

实现OnChange事件的事件处理过程

1.  在Mobile FormDesigner中,选中Edit控件,然后在Object Inspector(Events页),双击OnChange事件旁边的空白区域来创建事件处理过程。

Object Inspector创建一个名为Edit1Change的事件处理过程:

2.添加如下代码来实现这个事件处理过程:

实现返回按钮的事件处理过程

为了给WebBrowser实现返回按钮,你可以简单的调用WebBrowser组件的GoBack方法:

基本的功能已经实现了。尝试在iOS Simulator或iOS Device中运行你的应用程序。

第三步:为Web Browser应用程序选择合适的键盘

在运行你的第一个WebBrowser应用程序之后,你会发现虚拟键盘不是很合理。

iOS提供以下几种虚拟键盘:

在Edit控件的KeyboardType属性中选择vktURL做为合适的虚拟键盘:

Delphi for iOS开发指南(7):在iOS应用程序中使用WebBrowser组件的更多相关文章

  1. Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页

    Delphi for iOS开发指南(8):在iOS应用程序中使用Tab组件来显示分页 在FireMonkey iOS应用程序中的Tab Tab由FMX.TabControl.TTabControl定 ...

  2. Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项

    http://blog.csdn.net/delphiteacher/article/details/8924110 Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox ...

  3. Delphi for iOS开发指南(5):在iOS应用程序中使用Calendar组件来选择日期

    http://blog.csdn.net/delphiteacher/article/details/8923519 在FireMonkey iOS应用程序中的Calendar FireMonkey使 ...

  4. Delphi for iOS开发指南(4):在iOS应用程序中使用不同风格的Button组件

    http://blog.csdn.net/DelphiTeacher/article/details/8923481 在FireMonkey iOS应用程序中的按钮 FireMoneky定义了不同类型 ...

  5. Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序

    http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d0020fa48449e3732b4b50 ...

  6. Delphi for iOS开发指南(1):在Mac上配置你的开发环境

    http://cache.baiducontent.com/c?m=9d78d513d99516f11ab7cf690d678c3b584380122ba7a0020fd18438e4732b4050 ...

  7. 《iOS开发指南》要改iOS8版本了,听听您的意见?

    <iOS开发指南>要改iOS8版本了,听听您的意见?参加问卷同学均可获得智捷课堂50元代金卡一张,同时抽取一名同学赠送即将出版的基于iOS8的<iOS开发指南>一本,欢迎大家填 ...

  8. 《iOS开发指南》正式出版-源码-样章-目录,欢迎大家提出宝贵意见

    智捷iOS课堂-关东升老师最新作品:<iOS开发指南-从0基础到AppStore上线>正式出版了 iOS架构设计.iOS性能优化.iOS测试驱动.iOS调试.iOS团队协作版本控制.... ...

  9. 视频聊天插件:AnyChat使用攻略之iOS开发指南

    AnyChat使用攻略之iOS开发指南 这套攻略主要指导刚开始使用AnyChat SDK For iOS的同学,快速搭建SDK环境,和实现音视频开发流程. (需要工程案例文件可联系我们) 在iOS平台 ...

随机推荐

  1. Spring AsyncRestTemplate

    类说明 AsyncRestTemplate 是 Spring中提供异步的客户端HTTP访问的核心类.与RestTemplate类相似,它提供了一些类似的方法,只不过返回类型不是具体的结果,而是List ...

  2. Tomb Raider(暴力模拟)

    Tomb Raider https://hihocoder.com/problemset/problem/1829?sid=1394836 时间限制:1000ms 单点时限:1000ms 内存限制:2 ...

  3. PAT L3-004 肿瘤诊断(三维广搜)

    在诊断肿瘤疾病时,计算肿瘤体积是很重要的一环.给定病灶扫描切片中标注出的疑似肿瘤区域,请你计算肿瘤的体积. 输入格式: 输入第一行给出4个正整数:M.N.L.T,其中M和N是每张切片的尺寸(即每张切片 ...

  4. JS 图片切换

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="zzzz.aspx.cs&quo ...

  5. iOS 基于MVC设计模式的基类设计

    iOS 基于MVC设计模式的基类设计 https://www.jianshu.com/p/3b580ffdae00

  6. [leetcode]632. Smallest Range最小范围

    You have k lists of sorted integers in ascending order. Find the smallest range that includes at lea ...

  7. PM2使用及介绍

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的.它非常适合IaaS结构,但不要把它用于 ...

  8. 为什么大神的UI设计那么高级?答案尽在此文…

    对于每个网页设计师而言,在设计过程中总会碰到需要作出设计决策的时候.也许你的公司并没有全职设计师,而需求上则要求设计出全新的UI:又或者你正在制作一个你自己的个人项目,而你希望它比 Bootstrap ...

  9. bluez蓝牙测试工具

    http://blog.csdn.net/talkxin/article/details/50610984

  10. 主成分_CPA

    基本原理:方差最大原理 通过正交变换将原相关性变量转化为不相关的变量 第一主成分:线性组合  方差最大 第二主成分:线性组合,COV(F1,F2)=0 步骤: 原始数据标准化:DataAdjust(m ...