文档章节

Xamarin iOS教程之显示和编辑文本

大学霸
 大学霸
发布于 2015/06/17 15:42
字数 1096
阅读 55
收藏 0
点赞 0
评论 0

Xamarin iOS教程之显示和编辑文本

Xamarin iOS显示和编辑文本

在一个应用程序中,文字是非常重要的。它就是这些不会说话的设备的嘴巴。通过这些文字,可以很清楚的指定这些应用程序要表达的信息。以下将为开发者介绍3种关于文本的视图。

Xamarin iOS标签视图

标签视图(一般使用UILabel类实现)一般用于在应用程序中为用户显示少量的信息。

【示例2-13】以下就是通过标签视图为开发者显示一首诗的效果。具体步骤如下:

1)创建一个Single View Application类型的工程,命名为2-20

2)添加图像1.jpg到创建工程的Resources文件夹中。

3)打开MainStoryboard.storyboard文件,对主视图进行设置。效果如图2.26所示。

2.26  主视图的效果

需要添加的视图以及设置如表2-6所示。

2-6  设置主视图

4打开2-20ViewController.cs文件,编写代码,实现为主视图添加标签的功能。代码如下:

  • using System;

  • using System.Drawing;

  • using MonoTouch.Foundation;

  • using MonoTouch.UIKit;

  • namespace Application

  • {

  •          public partial class __20ViewController : UIViewController

  •          {

  •                    ……                                                         //这里省略了视图控制器的构造方法和析构方法

  •                    #region View lifecycle

  •                    public override void ViewDidLoad ()

  •                    {

  •                             base.ViewDidLoad ();

  •                             // Perform any additional setup after loading the view, typically from a nib.

  •                             UILabel label1 = new UILabel ();

  •                             label1.Frame = new RectangleF (2, 410, 155, 28);

  •                             label1.TextAlignment = UITextAlignment.Center;            //设置标签文本内容的对其方式

  •                             label1.Text = "碧玉妆成一树高,";                                         //设置标签的文本内容

  •                             this.View.AddSubview (label1);

  •                        ……

  •                             UILabel label4 = new UILabel ();

  •                             label4.Frame = new RectangleF (2, 500, 155, 28);

  •                             label4.TextAlignment = UITextAlignment.Center;

  •                             label4.Text = "二月春风似剪刀.";

  •                             this.View.AddSubview (label4);

  •                    }

  • ……                                                 //这里省略了视图加载和卸载前后的一些方法

  •                    #endregion

  •          }

  • }

运行效果如图2.27所示。

2.27  运行效果

注意:在此程序中,使用了TextAlignment属性设置了文本在标签中的对齐方式。使用Text属性设置了标签中显示的文本。标签视图默认是显示一行的,但是,也可以将标签的内容显示为多行。

【示例2-14】以下将在一个标签中显示3行文本内容。具体步骤如下:

1创建一个Single View Application类型的工程,命名为2-23

2添加图像1.jpg到创建工程的Resources文件夹中。

3打开MainStoryboard.storyboard文件,从工具栏中拖动Image View图像视图到主视图中,将此视图的Image属性设置为1.jpg

4打开2-23ViewController.cs文件,编写代码,实现标签多行显示的功能。代码如下:

  • using System;

  • using System.Drawing;

  • using MonoTouch.Foundation;

  • using MonoTouch.UIKit;

  • namespace Application

  • {

  •          public partial class __23ViewController : UIViewController

  •          {

  •                    ……                                                //这里省略了视图控制器的构造方法和析构方法

  •                    #region View lifecycle

  •                    public override void ViewDidLoad ()

  •                    {

  •                             base.ViewDidLoad ();

  •                             // Perform any additional setup after loading the view, typically from a nib.

  •                             UILabel label = new UILabel ();

  •                             label.Frame = new RectangleF (20, 100, 280, 64);

  •                             label.Text = "      如何让你遇见我,在我最美丽的时刻。为这,我已在佛前求了五百年,求他让我们结一段尘缘。";

  •                             label.Lines = 3;                                                                                    //设置显示文本的行数

  •                             this.View.AddSubview (label);

  •                    }

  • ……                                                 //这里省略了视图加载和卸载前后的一些方法

  •                    #endregion

  •          }

  • }

运行效果如图2.28所示。

2.28  运行效果

当标签中的内容过多时,开发者可以对标签中显示的内容进行省略,即可以设置内容显示的格式。在Xamarin中有6种风格,如表2-7所示。

 2-7  内容显示的格式

对于内容显示格式的设置需要使用到LineBreakMode属性。

【示例2-15】下面将使用LineBreakMode属性让在标签中显示的内容截去中间部分。代码如下:

  • using System;

  • using System.Drawing;

  • using MonoTouch.Foundation;

  • using MonoTouch.UIKit;

  • namespace Application

  • {

  •          public partial class __33ViewController : UIViewController

  •          {

  • ……                                       //这里省略了视图控制器的构造方法和析构方法

  •                    #region View lifecycle

  •                    public override void ViewDidLoad ()

  •                    {

  •                             base.ViewDidLoad ();

  •                             // Perform any additional setup after loading the view, typically from a nib.

  •                             UILabel label = new UILabel ();

  •                             label.Frame = new RectangleF (20, 100, 280, 64);

  •                             label.Text = "      如何让你遇见我,在我最美丽的时刻。为这,我已在佛前求了五百年,求他让我们结一段尘缘。";

  •                             label.LineBreakMode = UILineBreakMode.MiddleTruncation;                 //设置内容显示的格式

  •                             this.View.AddSubview (label);

  •                    }

  • ……                                       //这里省略了视图加载和卸载前后的一些方法

  •                    #endregion

  •          }

  • }

此时运行程序,会看到如图2.29所示的效果。

2.29  运行效果


© 著作权归作者所有

共有 人打赏支持
大学霸
粉丝 246
博文 844
码字总数 553173
作品 0
东城
程序员
谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本

谷歌Flutter跨平台应用开发SDK迎来首个发行预览版本 2018-06-22 12:26编辑: 枣泥布丁分类:程序人生来源:程序师 跨平台Google Flutter预览版本 招聘信息: 图像处理及模式识别工程师 C/C+...

枣泥布丁 ⋅ 06/22 ⋅ 0

从Xamarin.Essentials谈Xamarin库的封装

编者语:Xamarin在国内的推广还需要努力,其实这真的是移动端开发的一大福音,毕竟用一份代码的时间可以生成iOS/Android/Windows/Linux/macOS/Tizen多个平台,而且是原生的性能。Xamarin在B...

⋅ 05/10 ⋅ 0

Appuploader的安装介绍

注意:下载AU后需安装java8运行环境才能启动;安装好了最新Java8运行环境,解压AU软件包,无需安装,Windows 64位系统点击appuploader.exe启动;如果是Linux/Windows 32位系统或Mac系统双击appuplo...

webmirror ⋅ 05/11 ⋅ 0

天生不凡ios怎么在电脑上玩 天生不凡ios电脑版玩法教程

天生不凡ios怎么在电脑上玩呢?现在有很多小伙伴都在玩天生不凡手游,不过相对于传统的在手机上进行游戏,很多人都倾向于新玩法,就是在电脑上玩天生不凡手游。下面小编就给亲们介绍下天生不...

kaopu8520 ⋅ 05/29 ⋅ 0

HDU ~ 6297 ~ CCPC直播 (模拟,输出格式控制)

思路:模拟就行了,注意Running和RTE的开头字母一样。 iomanip是I/O流控制头文件,就像printf的格式化输出一样。 以下是一些常用的: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oc...

zscdst ⋅ 05/29 ⋅ 0

又拍云Prism CDN 超低价 低延时 超强兼容的P2P-CDN

又拍云Prism CDN 超低价 低延时 超强兼容的P2P-CDN 2018-05-15 10:26编辑: 枣泥布丁分类:业界动态来源:https://www.upyun.com/products CDN又拍云 招聘信息: C++工程师 Cocos2d-x游戏客户...

枣泥布丁 ⋅ 05/15 ⋅ 0

【AR】开始使用Vuforia开发iOS(2)

原 设置iOS开发环境 安装Vuforia iOS SDK 如何安装Vuforia iOS示例 编译并运行Vuforia iOS示例 支持iOS金属 iOS 64位迁移 设置iOS开发环境 适用于iOS的Vuforia引擎目前支持运行iOS 9及更高版...

lichong951 ⋅ 06/11 ⋅ 0

IOS12开发者预览版第二版使用评测

     手头有一部iPhone 6s Plus,因为之前看同学和朋友们升到IOS 11后手机变得非常卡顿所以没有升级。最近偶然看到IOS 12针对旧机型做了性能优化,号称提升70%相机打开速度、50%键盘显示...

张旭乾 ⋅ 前天 ⋅ 0

iOS基础深入补完计划--NSURLSession使用详解(附Demo)

目录 前言 API Demo 前言 本文主要是把NSURLSession以及NSURLSessionTask相关的代理方法全部整理了一下。 旨在大体了解在一个iOS网络请求中、一个任务究竟经理了什么。 而我们、又能做些什么...

kirito_song ⋅ 05/10 ⋅ 0

Unity与IOS交互,调用IOS系统相机和相册

前面两篇总结了一下unity与android的简单交互和调用安卓系统相机和相册,比较蛋疼的是,后来发现不同的测试机上会有不同的bug。。。下阶段要一个一个的解决一下 今天总结一下与IOS的交互。这...

qq_32587659 ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 25分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 45分钟前 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 50分钟前 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 57分钟前 ⋅ 0

文件压缩和打包zip、tar

第六章 文件压缩和打包 6.5 zip压缩工具 zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 注意:...

弓正 ⋅ 58分钟前 ⋅ 0

vuex

一、状态对象如何赋值给内部对象。三种方式: 1、使用computed赋值,一定要写this,不然找不到$store。 computed:{ count(){ return this.$store.state.count; }} 2、通...

大美琴 ⋅ 今天 ⋅ 0

javaScript 设计模式

1、构造函数模式 ` /** 构造一个动物的函数 */ function Animal(name, color){ this.name = name; this.color = color; this.getName = function(){ return this.name; } } // 实例一个对象 ......

fangPeng_ ⋅ 今天 ⋅ 0

日常嘚瑟:TeamCity构建中解压和打包tar

要弄一个新的构建,很简单,从两个构建的tar格式Artifact中分别取一部分,重新打一个tar。 所以,我去写个脚本用curl下载两个依赖的Artifact,然后解压移动重新打个tar? 开什么玩笑,我的技...

谷永权 ⋅ 今天 ⋅ 0

Istio官方文档中文版

阅读目录 Istio官方文档中文版 回到目录 Istio官方文档中文版 http://istio.doczh.cn/ https://istio.io/docs/concepts/what-is-istio/goals.html 为什么要使用Istio? 在从单体应用程序向分...

xiaomin0322 ⋅ 今天 ⋅ 0

CentOS 7 Omnibus 包安装 GitLab 并汉化记录

系统环境 操作系统:CentOS 7GitLab:gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 下载Omnibus安装包 使用国内镜像加速下载地址 # wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el......

admin_qing ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部