常用控件的用法笔记

UIView

  所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最简单最一般的属性。

  • enable:是否启用;
  • selected:是否被选择;
  • contentVerticalAligement:内容是垂直方向的对齐方式,它是一个枚举,分别有UIControlContentVerticalAligementCenter/Top/Bottom/Fill;
  • contentHorizontalAlignment:内容是水平方向的对齐方式,它是一个枚举,UIControlContentHorizontalAligmentCenter/Left/Right/Center;
  • hidden: 显示或者隐藏,BOOL类型;
  • frame:决定控件的大小和位置的结构体,与forstate混用有可能不起作用。

  OC不允许直接修改对象的结构体属性的成员,但可以修改结构体的属性,此时只能先声明另外一个结构体修改结构体里面的值后再对对象的结构体属性重新设值。

  事件操作,这里则介绍如何去以代码的形式给一个控件绑定和解绑事件。

  • 绑定事件:

事件名];

  • 解绑事件:

事件名];

这里如果涉及到多个事件的话,可以用逻辑OR “||”合并在一起。

  • 获得该控件所有注册了事件的方法: NSSet *myActions=[myControl allTargets];
  • 获得该控件所有注册了该事件的方法:NSArray *myActions=[myControl actionForTarget:事件名];

  对于大多数事件的参数,第一个就是触发该事件的控件,类型是id,在用代码绑定事件或者通过storyboard连线的方式绑定事件后,可以把id这个类型换成控件本身的类型,这样在方法内部万一要用回这个控件时就免得进行强制转换了。

  在个事件部分最后搭上一个常用的事件,单击事件 UIControlEventTouchUpInside。

UIButton

按样式去创建按钮,

UIButton *btn= [UIButton buttonWithType:UIButtonTypeRoundedRect];

样式有以下几种

  • UIButtonTypeCustom,自定义的风格;
  • UIButtonTypeRoundRect,白色圆角矩形,这个是默认的;
  • UIButtonTypeDetailDisclosure:蓝色披露按钮,没有文字;
  • UIButtonTypeInfolight:微件用的小圆圈信息按钮;(按钮的底色默认是白色的,页面底色已换成浅蓝色)
  • UIButtonTypeInfoDark:背景下用神社圆圈的按钮;
  • UIButtonTypeContactAdd:蓝色加号”+“按钮;

常用的属性:

  • title:按钮的内容;
  • image:按钮的图片;
  • titleColor:按钮内容的颜色;
  • shadowColor:按钮阴影部分的颜色;
  • backgroundImage:按钮的背景图;

以上这些属性的设值方法如下

[btn setTitle:@”Button1” forState:…..];

[btn setImage:[UIImage imageName:@”图片的文件名”] forState:…..];

[btn setTitleColor:[UIColor redColor] forState:…];

[btn setShadowColor:[UIColor redColor] forState:…..];

图片文件名”] forState];

  设这类属性都是带了forState,代表了设的这个属性只在某个状态下才会生效,而按钮的状态有下面四个:UIControlstateNormal,UIControlStateHighlighted,UIControlStateDisabled,UIControlSeleted。

  设置按钮的背景色则不需要连带按钮的颜色,只按照原本的属性设置的就可以了:btn.backgroundColor=[UIColor clearColor];

UILabel

  Label是一个很简单很简单的控件了,这里就列举一下它的几个属性

  • text:文本内容;
  • textColor:文本的颜色;
  • textAlignment:水平对齐的方式,由于鄙人学习时是iOS6,在网上找到的很多资料都是早期版本的,不一样的,这个需要分别列举一下,在iOS6以后的版本,这个属性是NSTextAlignment类型;它的值分别是

NSTextAlignmentLeft,

NSTextAlignmentCenter,

NSTextAlignmentRight,

NSTextAlignmentJustified,

;在iOS5和更早的版本是UITextAligenment,它的值分别是

UITextAlignmentLeft,

UITextAlignmentCenter,

UITextAlignmentRight;

  • lineBreakMode:这个属性比较重要,是控制单词折行方式,它是NSLineBreakMode类型的枚举

NSLineBreakByWordWrapping, // 以单词为显示单位显示,后面部分省略不显示

NSLineBreakByCharWrapping, // 以字符为显示单位显示,后面部分省略不显示

NSLineBreakByClipping, //剪切与文本宽度相同的内容长度,后半部分被删除。

NSLineBreakByTruncatingHead, //前面部分文字以……方式省略,显示尾部文字内容。

NSLineBreakByTruncatingTail, //结尾部分的内容以……方式省略,显示头的文字内容。

//中间的内容以方式省略,显示头尾的文字内容。

  • numberOfLines:控制内容是否以多行显示,如果是0则是多行;

UIImageView

  这个是用于图片显示的控件,通过设置image属性来显示那幅图片,在OC中图片则是UIImage类型,这个类型在UIButton部分也出现过,用于设置按钮的图片和按钮的背景图,但是要获取这个图片,这里有三种方式:

  • 本地资源

首先是要往项目里面添加资源:在项目里面的”项目名-Info.plist”文件右键”AddFiles…”将图片资源加入项目中。然后通过下面的代码才能正常获取到图片

1.jpg”];

否则如果单纯拖拽如XCode里面,运行的时候是看不了图片的。

  • 网络

NSURL*url=[NSURLWrithString:@”http://www.baidu.com/img/bdlogo.png”];

UIImage *img=[[UIImage alloc]iniWithData:[NSData dataWithContentsOfURL:url]];

  • 本地文件

NSString *path=[NSStringstringWithFormat:@”%@/Documents/%@.jpg”,NSHomeDirectory,@”test”];

UIImage *img=[[UIImage alloc]initWithContentsOfFile:path];

常用属性

contentMode:图片的显示方式,它是一个枚举类型,

UIViewContentModeScaleToFill,

UIViewContentModeScaleAspectFit,

UIViewContentModeScaleAspectFill,

UIViewContentModeRedraw,

UIViewContentModeCenter,

UIViewContentModeTop,

UIViewContentModeBottom,

UIViewContentModeLeft,

UIViewContentModeRight,

UIViewContentModeTopLeft,

UIViewContentModeTopRight,

UIViewContentModeBottomLeft,

UIViewContentModeBottomRight,

在以上枚举没带Scale的枚举值,都有一个共同点就是当图片尺寸超出控件的大小时只会显示图片的一部分,超出的部分则不会显示。而有三个枚举也要特别说一下

UIViewContentModeScaleToFill图片会变形(图片的宽高比变了),图片全部会显示在控件中;

UIViewContentModeScaleAspectFit:图片的比例不变,尽可能地填充整个控件,以最短一边去填充控件,没填充的部分会有补白;

UIViewContentModeScaleAspectFill:图片的比例不变,图片会以最长边去填充控件,会有一部分显示不出来;

  • center:空间的中心点位置的属性,可以通过设置这个值来改变控件的位置,此属性是CGPoint类型,可以通过CGPointMake(CGFloat x,CGFloat y);来构造;
  • transform:赋上不同的值,图片会在原有的基础上作不同的变换
  • CGAffineTransformMakeTranslation(CGFloat dx,CGFloat dy);//向分别x,y轴的正方向移动dx,dy个像素;
  • CGAffineTransformMakeRotation(CGFloat angle);//以控件的中心顺时针旋转的angle个弧度;
  • CGAffineTransformMakeScale(CGFloat scale_w,CGFloat scale_h);//按原本宽高分别缩放scale_w和scale_h倍;
  • highlightedImage:控件在高亮状态时显示的图片;
  • highlighted:BOOL类型的属性,控制控件是否在高亮状态

UITextField

这是文本框,相对来说也是一个简单的控件,比UILabel稍复杂一点。

  • text:NSString类型,文本框内的文字内容;
  • placeholder:NSString类型,文本框无内容时会显示在文本框里面的内容;
  • secureTextEntry:BOOL类型,文本框内容是否以密码形式显示;
  • returnKeyType:弹出的软键盘中,回车键的地方显示的键的类型,分别有下面的类型;

UIReturnKeyDefault,

UIReturnKeyGo,

UIReturnKeyGoogle,

UIReturnKeyJoin,

UIReturnKeyNext,

UIReturnKeyRoute,

UIReturnKeySearch,

UIReturnKeySend,

UIReturnKeyYahoo,

UIReturnKeyDone,

UIReturnKeyEmergencyCall,

  • keyboardType:弹出的软键盘的类型,一共有下面这些类型

UIKeyboardTypeDefault,

UIKeyboardTypeASCIICapable,

UIKeyboardTypeNumbersAndPunctuation,

UIKeyboardTypeURL,

UIKeyboardTypeNumberPad,

UIKeyboardTypePhonePad,

UIKeyboardTypeNamePhonePad,

UIKeyboardTypeEmailAddress,

UIKeyboardTypeDecimalPad,

UIKeyboardTypeTwitter,

UIKeyboardTypeWebSearch,

  • clearButtonMode:文本框中显示清除内容的那个叉叉的显示时机

就是图中红框的地方,这个枚举有以下这些值

UITextFieldViewModeNever,

UITextFieldViewModeWhileEditing,

UITextFieldViewModeUnlessEditing,

UITextFieldViewModeAlways

方法

如果文本框在编辑状态,软键盘则会弹出来,如果要收起软键盘,则可以调用下面这个方法

[txtBox resignFirstResponder];

事件

对于文本框,编辑前或编辑后都可以触发不同的事件进行操作,也可以在值发生变化时触发事件,下面则列举出来

TextDidBeginEditing;//开始编辑时触发

TextDidEndEditing;//结束编辑时触发

TextDidChange//内容改变时触发

时间: 2024-11-05 18:35:37

常用控件的用法笔记的相关文章

MFC中按钮控件的用法笔记(转)

VC学习笔记1:按钮的使能与禁止 用ClassWizard的Member Variables为按钮定义变量,如:m_Button1:则m_Button1.EnableWindow(true); 使按钮处于允许状态m_Button1.EnableWindow(false); 使按钮被禁止,并变灰显示 VC学习笔记2:控件的隐藏与显示 用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件. 例1:CWnd *pWnd;pWnd = GetDlgItem(

【转】VS2010/MFC编程入门之二十(常用控件:静态文本框)

本文转自鸡啄米:http://www.jizhuomi.com/software/177.html 感 谢鸡啄米对本文的贡献. 上一节鸡啄米讲了颜色对话框之后,关于对话框的使用和各种通用对话框的介绍就到此为止了.从本节开始鸡啄米将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控件.列表控件.树形控件和进度条控件等等.本节教程先来讲解静态文本框的使用. 控件的通知消息 在将静态文本框的使用之前,先大概讲讲控件的通知消息. 当控件有事件发

VS2010-MFC(常用控件:静态文本框)

转自:http://www.jizhuomi.com/software/179.html 关于对话框的使用和各种通用对话框的介绍就到此为止,从本节开始将讲解各种常用控件的用法.常用控件主要包括:静态文本框.编辑框.单选按钮.复选框.分组框.列表框.组合框.图片控件.列表控件.树形控件和进度条控件等等.本节教程先来讲解静态文本框的使用. 控件的通知消息 在将静态文本框的使用之前,先大概讲讲控件的通知消息. 当控件有事件发生时,它会向父窗口发送通知消息.最常发生的事件就是鼠标单击了,此时控件会向父窗

Android学习笔记:常用控件 RadioGroup和CheckBox

RadioGroup和CheckBox是android的常用控件,本文自做简单介绍和学习笔记,所以所用的控件样式选用android默认的样式. 先看下代码实现的效果图 图中,上面两个(male和female)为一个RadioGroup中的两个RadioButton,下面三个为CheckBox. 一个RadioGroup里面的内容只可单选,CheckBox可多选. 接下来是代码部分 布局文件代码activity_main.xml : <LinearLayout xmlns:android="

Chart控件的用法

最近用到统计方面的功能,文档统计不用说,都是导出Excel,若要视图效果,这里推荐一个Asp.NET中的控件Char. 简单示例: 1 <asp:Chart ID="Chart1" runat="server" Width="627px"> 2 <Legends> 3 <asp:Legend></asp:Legend> 4 </Legends> 5 <Titles> 6 &l

telerik(kendoUI)常用控件使用

最近接触了kendoUI的使用,在项目中边学习边使用,为了以后可以再用到便小记一下(这里用的都是针对asp.net MVC,其实用我觉得用js的方法更灵活,不过MVC更简洁) 1.最常用的估计就是grid的使用了.从项目中找个比较有代表性的. @(Html.Kendo().Grid<CustomsProjectEx.Models.FL_File> ().Name("DocumentGrid") .Columns(columns => { columns.Bound(c

C# 常用控件及单击事件

1.窗体 1.常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体. (2)WindowState属性: 用来获取或设置窗体的窗口状态. 取值有三种: Normal (窗体正常显示). Minimized(窗体以最小化形式显示)和 Maximized(窗体以最大化形式显示). (3)StartPosition属性:用来获取或设置运行时窗体的起始位置.(System.Windows.Forms.SystemInformation.WindowsArea.

Windows 8.1 应用再出发 - 几种常用控件

原文:Windows 8.1 应用再出发 - 几种常用控件 本篇为大家简单介绍Windows 商店应用中控件的用法,为方便讲解,我们在文本控件和按钮控件这两类中分别挑选有代表性的控件进行详细说明. 1. 文本控件 (1) TextBlock TextBlock是最常用的文本显示控件,重点关注以下属性: CharacterSpacing  字符之前的统一间距,间距 = 字体大小 / 1000.默认为0,正值增进跟踪和放宽字符间距.负值减少跟踪和收紧字符调间距. IsColorFontEnabled

(转载)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)

因为私人问题,鸡啄米暂停更新了几天,首先向关注鸡啄米动态的朋友说一声抱歉. 言归正传,鸡啄米上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用. 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图.单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有