以下是三个IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用。 

UIButton按钮

  第一、UIButton的定义

  UIButton *button=[[UIButton buttonWithType:(UIButtonType);

  能够定义的button类型有以下6种,

  typedef enum {

  UIButtonTypeCustom = 0,  自定义风格

  UIButtonTypeRoundedRect,  圆角矩形

  UIButtonTypeDetailDisclosure,  蓝色小箭头按钮,主要做详细说明用

  UIButtonTypeInfoLight,  亮色感叹号

  UIButtonTypeInfoDark,  暗色感叹号

  UIButtonTypeContactAdd,  十字加号按钮

  } UIButtonType;

  第二、设置frame

  button1.frame = CGRectMake(20, 20, 280, 40);

  [button setFrame:CGRectMake(20,20,50,50)];

  第三、button背景色

  button1.backgroundColor = [UIColor clearColor];

  [button setBackgroundColor:[UIColor blueColor]];

  第四、state状态

  forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现

  enum {

  UIControlStateNormal = 0, 常规状态显现

  UIControlStateHighlighted = 1 << 0, 高亮状态显现

  UIControlStateDisabled = 1 << 1, 禁用的状态才会显现

  UIControlStateSelected = 1 << 2, 选中状态

  UIControlStateApplication = 0x00FF0000, 当应用程序标志时

  UIControlStateReserved = 0xFF000000 为内部框架预留,可以不管

  };

  @property(nonatomic,getter=isEnabled)BOOL enabled;   // default is YES. if NO, ignores touch events and subclasses may draw differently

  @property(nonatomic,getter=isSelected)BOOL selected;  // default is NO may be used by some subclasses or by application

  @property(nonatomic,getter=isHighlighted)BOOL highlighted;

  第五 、设置button填充图片和背景图片

  [button setImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

  [button setBackgroundImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

  第六、设置button标题和标题颜色

  [button1 setTitle: @"点击" forState:UIControlStateNormal];

  [button setTitleColor:[UIColorredColor]forState:UIControlStateNormal];

  第七、设置按钮按下会发光

  button.showsTouchWhenHighlighted=NO;

  第八、添加或删除事件处理

  [button1 addTarget:self action: @selector(butClick:) forControlEvents:UIControlEventTouchUpInside];

  [btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];

  第九、 设置按钮内部图片间距和标题间距

  UIEdgeInsets insets; // 设置按钮内部图片间距

  insets.top = insets.bottom = insets.right = insets.left = 10;

  bt.contentEdgeInsets = insets;

  bt.titleEdgeInsets = insets; // 标题间距

第十、 其他

// 设置按钮为无效按钮,如果按钮无效了,按钮就不再响应用户了

btn.enabled = YES;

// 给按钮添加手势识别器

[btn addGestureRecognizer:tap];

// 添加一个按钮 ,示例

UIButton *calBtn = [[UIButton alloc]initWithFrame:CGRectMake(50, 200, 200, 40)];  // 按钮大小

calBtn.backgroundColor = [UIColor orangeColor];                  // 背景颜色

[calBtn setTitle:@"点我,我就计算" forState:UIControlStateNormal];            // 设置默认状态下的文字

 [calBtn setTitle:@"点我,我就计算" forState:UIControlStateHighlighted];    // 设置高亮状态下的文字   

[calBtn setBackgroundImage:[UIImage imageNamed:@"login_btn_n_Normal"] forState:UIControlStateNormal]; // 设置默认状态下的背景图片

[calBtn setBackgroundImage:[UIImage imageNamed:@"logoff_btn_n_Highlighted"] forState:UIControlStateHighlighted];   // 设置高亮状态下的背景图片

[self.view addSubview:calBtn];  // 最会一定要添加按钮

【注】图片的名称要提前修改好,最好在后面加上分辨是默认状态还是高亮状态的单词

  UILabel标签

UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(50, 100, 300, 160)];  // 大小

lbl.backgroundColor = [UIColor lightGrayColor]; // 背景颜色

lbl.textColor = [UIColor blueColor];     // 字体颜色

// lbl.shadowColor = [UIColor redColor];      // 阴影效果,不常用

// lbl.shadowOffset = CGSizeMake(4, -10);

lbl.text = @"宿舍的";    // 添加文字

// 标签内容对齐方式

lbl.textAlignment = NSTextAlignmentCenter;

// 设置标签的行数,如果设置为0,表示可以有任意多行

lbl.numberOfLines = 2;

// 当标签有多行时,设置换行方式 ,默认的是以单词为单位

lbl.lineBreakMode = NSLineBreakByTruncatingMiddle;  // 如果不能完全显示,中间会有三个小点

// 设置标签高亮状态

lbl.highlighted = YES;

// 设置标签高亮时字体颜色

lbl.highlightedTextColor = [UIColor purpleColor];

// 允许用户可以与标签进行交互

lbl.userInteractionEnabled = YES;       //允许用户交互

// 定义一个点击手势识别器对象

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(lblClicked:)];

// 在标签上添加一个手势识别器

[lbl addGestureRecognizer:tap];

//  lbl.enabled = NO;

lbl.adjustsFontSizeToFitWidth = YES;

// lbl.baselineAdjustment = UIBaselineAdjustmentAlignCenters;

[self.view addSubview:lbl]; // 控件最后都需要添加

【小结】下面的大家可以试着用一下,

UIButton、UILabel、UITextField 初学者需要了解的基本定义和常用设置的更多相关文章

  1. swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIButton+UILabel // // ViewController.swift // ...

  2. iOS学习21之UILabel, UITextField, UIButton, UIImageView

    1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ...

  3. UILabel,UITextField,UIButton三大基础控件总结

    (一)UILabel空件 属性: 1.背景颜色 label.backgroundColor = [UIColor ***]; 2. 显示文字: label.text = @"******&q ...

  4. UILabel,UITextField 以及UIButton应用

    </pre><pre name="code" class="cpp">一.UILabel 它是ioS开发使用的控件来显示文本,它是UIV ...

  5. UI 经常用法总结之--- UILabel UITextField (不断更新中)

    UILabel : UIView <NSCoding> 1.创建一个UILabel对象 UILabel *label = [[UILabel alloc]initWithFrame:CGR ...

  6. iOS中UITextField常用设置和方法

    //初始化textField并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(, , , )]; // ...

  7. 初学者刚学c++在定义类时只有成员变量易犯的错误

    ------------------------ #include<iostream> using namespace std;//c++的命名空间 class circle { publ ...

  8. Java初学者作业——完成对已定义类(Admin)的对象的创建。并完成属性的赋值和方法的调用。

    返回本章节 返回作业目录 需求说明: 完成对已定义类(Admin)的对象的创建.并完成属性的赋值和方法的调用. 实现思路: 创建 MyTest 类,并添加 main函数. 在 main函数中完成对 A ...

  9. UI入门指引

    1. iOS学习路线: C语言:数据类型.流程控制.函数.指针.字符串.结构体.枚举.预处理: OC:面向对象.内存管理.分类.协议.Block.KVC/KVO.Foundation框架: iOS基础 ...

随机推荐

  1. 判断JS对象是否拥有某属性

    两种方式,但稍有区别 1.in 运算符  

  2. 【UWP】UI适配整理

    做UWP有几个月了,期间发布了几个应用,在这里整理一下适配相关的一些东西,UWP关于UI的适配主要有两种方式: 1.VisualState+Trigger:通过触发器出发界面更变,通常在Desktop ...

  3. ms sql 2005和2008收缩日志的方法

    步骤1: 2005的sql 语句为:back up log 数据库名称 with no_log 目的:截断数据库日志 2008的sql 语句为:alter database 数据库名称 set rec ...

  4. C#遍历Dictionary

    C#遍历Dictionary方法 Dictionary<string, int> d = new Dictionary<string, int>(); foreach (Key ...

  5. XML EXtensible Markup Language

    1.基础:XML设计被用来传输和存储数据:全称是EXtensible Markup Language.它的设计宗旨是传输数据,而不是显示数据.xml的标签没有被预定义,需要由用户自行定义标签.xml被 ...

  6. Enum 枚举小结 java **** 最爱那水货

    import java.util.HashMap; import java.util.Map; /** * 收单行 大写首字母 和对应的编码<br/> * * ABC 农业银行<br ...

  7. Razor语法大全

    本文页面来源地址:http://www.cnblogs.com/dengxinglin/p/3352078.html Razor是基于framewor4以上写的一个开源项目:https://githu ...

  8. linux下查找java进程占用CPU过高原因

    1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu.   2.查找线程 使用top -H -p <pid>查看线程占用情况   3. ...

  9. 项目中应用eventbus解决的问题

    在项目开发过程中,往往有些功能表面看起来简单,但实际开发的结果非常复杂,仔细分析下原因发现很多都是因为附加了许多的额外功能. 真的简单吗? 比如我们对一个电商平台的商品数据做修改的功能来讲,其实非常简 ...

  10. Linux更改主机名-适用于abuntu

    今天复制了个ubuntu虚拟机,于是想更改下主机名以作区别.这是搜到的比较完整的资料,适用abuntu,不过其他linux系统还有待求证. 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方 ...