一>UITextFiled 
———>UITextField是什么
  • UITextField ( 输入框 ) : 是控制文本输入和显示的控件.在APP中UITextField 出现频率很高
  • ios系统借助虚拟键盘实现输入,当点击输入框时, 系统会自动调出键盘,方便你进一步操作.在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘
  • UITextField 和 UILabel 相比 ,UILabel 主要用于文字显示,不能编辑,UITextField 允许用户编辑文字( 输入 )
————>如何使用UITextField 
  • 1>开辟空间并初始化( 如果本类有初始化方法,使用自己的,否则使用父类的)
// UITextField *field = [[UITextField alloc] initWithFrame:CGRectMake(100, 100,200, 40)];
  • 2>设置文本显示,输入相关的属性
// 给其添加背景颜色:   field.backgroundColor = [UIColor blueColor];
  • 3>添加到父视图上用以显示
// [self.window addSubview:field];
  • 4>释放//在MRC下使用
//[field release ];
 
———>对应的方法
1>//设置文本输入框的边框类型
    field.borderStyle = UITextBorderStyleRoundedRect;
2>//显示文本内容
    field.text = @"账号";
3>//文本内容的颜色
    field.textColor = [UIColor redColor];
4>//文本输入框的文本内容对其方式
    field.textAlignment = NSTextAlignmentLeft;
5>//文本字体
    field.font = [UIFont fontWithName:@"Helvetica-Bold" size:20];
6>//占位字符串(没有任何输入时,给出的提示字符串 ,当输入时就会自动消失);
    field.placeholder = @"请输入账号:";
//是否允许输入
    field.enabled = YES;//允许
    //是否开始输入的时候清空输入框内容
    field.clearsOnBeginEditing = YES;
    //是否文字以圆点格式显示(密码模式)
    field.secureTextEntry = YES;//密码模式
    //弹出键盘的类型(枚举值)
    //field.keyboardType = UIKeyboardTypeNumberPad;//数字键盘
    //return按钮类型(枚举值)也是登陆的类型
    field.returnKeyType = UIReturnKeyGoogle;
/自定义输入视图 先建立了一个view  也就是键盘用自己定义的view显示
    //field.inputView =view ;
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0, 80, 80)];
    view.backgroundColor = [UIColor redColor];
    view.alpha = 0.2;
    //field.inputView =view ;
   
    //输入视图上方的辅助视图 也就是在键盘上方有一个view
      //field.inputAccessoryView = view;
 
 ——————>UITextField 的核心功能主要包括3个方面:
  • 文本显示 : 字体颜色 ,对其方式 ,占位符....
 
 
  • 输入控制 : 包括 密码模式 ,键盘模式,自定义模式...
  • 外观配置 : 包括 边框样式,清除按钮,辅助视图啊...
 
 
 
二> UIButton
——> UIBotton 是什么 :
  • UIBotton (按钮 ) : 是响应用户点击的控件.在APP中出现的频率也很高
  • UIBotton 与 UILabel ,UITextField 侧重点不同,侧重于处理点按 . 当然 UIButton 类也提供了一些方法控制按钮外观
———.> 如何创建 UIButton 
  • 1>创建UIBotton 对象(如果本类中没有初始化方法,就使用父类的 )
//创建button : UIButton *button = [[UIBotton  alloc ] initWithFrame: CGRectMake( 100,100,100,100 ) ] ;
  • 2>设置按钮显示相关的属性
// [button setTitle:@“登陆” forState: UIContronlStateNormal];  title ['taɪt(ə)l] 标签 ; UI Control State Normal :UI控件状态正常
  • 3>为按钮添加点击事件
//[button  addTarget:self  action:@selector( button: )  forControlEvents: UIControlEventTouchUpInside ] ;——>target [‘tɑːgɪt] 目标 ,   action: 行动 ,selector [sɪ'lektə]  :选择 ,,UI Control Event(名字 ) Touch Up Insid :UI控件事件联系起来 
  • 4>添加按钮到父视图上 ,用以显示
//[self.window addSubview: button];
  • 按钮无需释放( 引用使用的是类方法创建的button )
  •  
 
———> 为UIButton 添加事件
  • UIButton 从父类UIControl 那继承了控制相关的方法,比如添加事件,移除事件....注:UIButton:UIControl:UIView
  • 为按钮添加事件,指定按钮点击之后,执行target的action方法
// [button addTarget:self action:@selector( button: )  forControlEvents:UIControlEventsTouchUpInside ] ;
 
  • 移除按钮的点击事件:
//[button removeTarget:self action:@selector(button: )  forControlEVents:UIControlEventsTouchUpInside ] ;
 
————> 外观控制 : 包括标题 ,背景图片 ,前景图片...
 
 
 
 
 
——> 小节:
  • UIView 是所有可视化控件的基类
  • UILabel , UITextField ,UIButton 是具有特定外观 特定功能的视图
  • UILabel 侧重于文本的呈现.
  • UITextField 侧重于输入.
  • UIButton 侧重于点击事件处理
 
 
三>delegate
 
—> 点击键盘上的return按钮,如何去响应事件??
  点return 回收键盘 ;
  • 1>将APPDelete 作为UITextField 的delegate
  • 2>APPDelete.h 文件中接受UITextFieldDelegate 协议
  • 3>APPDelete .m 文件实现 textFieldShouldReturnL: 方法
// APPDelete .m 
-(BOOL)textFieldShouldReturn: (UITextField * ) textField
{
[textField  resignFirstResponder ] ;
 
return YSE;
 
}
 
——>小节: 
  • UITextField 不应该再类内部(.M 文件)实现textFieldShouldReturn: ,应为有时候,我们点return的时候,并不是向回收键盘,例如:有两个输入框,第一个输入框输入完成之后,用户点return按钮 ,将光标移动到第二个输入框(即:第二个输入框称为第一响应者 )
  • 对于一个V来说 ,自己只负责触发事件,事件有外界实现,即delegate;
四>程序启动流程
任何一个程序,无论是基于Mac OS 还是ios ,程序都是从main.m 文件的 main 函数开始执行
int main (int argc   char * argv[])
{
 
@autoreleasepool
 
{
return UIApplicationMain(argc ,argv,nil,NSStringFromClass( [ AppDelegate  class ] ) );
 
}
}
执行UIApplicationMain 函数时做了调转 ,转到了AppDelete中
 
—————>UIApplicationMain在程序入口函数main 函数中调用 ,主要实现了3个功能:
  • 创建应用程序 (UIApplication) 实例
  • 创建应用程序代理实例
  • 建立事件循环 (runloop: 死循环 ,不断监测程序运行状态,是否被触摸 ,晃动.... )
—————>应用程序代理:主要监测应用程序的状态并做出相应的处理
  • 应用程序的状态很多,比如:程序启动,进入活跃状态,进入后台,内存警告 ,收到远程消息...
  • 任何接受了UIApplicationDelegate 协议,的对象都可以成为应用程序代理
  • 一旦应用程序的某种状态触发,就会执行相应的代理方法
—————>UIApplicationDelegate : 是一个OC的协议,里面声明了一堆方法 ,这些方法都与应用程序运行状态有关,它们由应用程序代理实现 .UIApplication 对象负责调用
 
c
 

UI 基本控件使用的更多相关文章

  1. UI输入控件

    --UI输入控件 -- 输入控件 cc.uii.UIInput.new(table) --[[ 参数 table{ image 输入框图像,可以为图片名或者display.newScale9Sprit ...

  2. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  3. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  4. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

  5. UWP学习记录7-设计和UI之控件和模式4

    UWP学习记录7-设计和UI之控件和模式4 1.翻转视图 使用翻转视图浏览集合中的图像或其他项目(例如相册中的照片或产品详细信息页中的项目),一次显示一个项目. 对于触摸设备,轻扫某个项将在整个集合中 ...

  6. UWP学习记录6-设计和UI之控件和模式3

    UWP学习记录6-设计和UI之控件和模式3 1.按钮 按钮,响应用户输入和引发 Click 事件的控件. 使用<Button>就能创建一个按钮控件了.按钮是 ContentControl, ...

  7. UWP学习记录5-设计和UI之控件和模式2

    UWP学习记录5-设计和UI之控件和模式2 1.应用栏和命令栏 CommandBar 控件是一款通用.灵活.轻型的控件,可显示复杂内容(如图像或文本块)以及简单的命令(如 AppBarButton.A ...

  8. UWP学习记录4-设计和UI之控件和模式1

    UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...

  9. UI常用控件

    UICommonlyUsedControls [UI常用控件] 不需要学习多么深入,但是要知道系统提供的有用的控件. 一.UISwitch(开关) 二.UIActivityIndicatorView( ...

  10. QMUI UI库 控件 弹窗 列表 工具类 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

随机推荐

  1. Android 网格视图GridView的使用

    网格视图GridView的排列方式与矩阵类似,当屏幕上有很多元素(文字.图片或其他元素)需要按矩阵格式进行显示时,就可以使用GridView控件来实现. 本文将以一个具体的实例来说明如何使用GridV ...

  2. Runtime of Objective-C

    [0] Outline --  [1] 版本和平台 --  [2] 与Runtime System交互 --  [3] 方法的动态决议 --  [4] 消息转发 --  [5] 类型编码 --  [6 ...

  3. Bootstrap入门(二十七)JS插件4:标签页

    Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...

  4. OGG学习笔记03-单向复制简单故障处理

    OGG学习笔记03-单向复制简单故障处理 环境:参考:OGG学习笔记02-单向复制配置实例 实验目的:了解OGG简单故障的基本处理思路. 1. 故障现象 故障现象:启动OGG源端的extract进程, ...

  5. ubuntu下php编译

    1.安装依赖 sudo apt-get install libjpeg-devsudo apt-get install libxml2-devsudo apt-get -y install libjp ...

  6. PHP面向对象编程简单实例

     <?php date_default_timezone_set("PRC"); /** 1.静态属性用于保存类的公有数据* 2.静态方法里面只能访问静态属性* 3.静态成员 ...

  7. contenteditable实现可编辑的HTML标签

    最近工作中遇到了一个小问题,让我学到了新的标签属性--contenteditable. 我需要实现的是手机端界面,特别简单的一个页面,如下图: 在我脑海里第一时间想到的应该就是一个form表单然后里面 ...

  8. DirectX11中Shader的封装

    引言 ​ 这个寒假学DirectX11的时候用的书是<Introduction to 3D Game Programming with DirectX 11>,里面关于Shader的部分全 ...

  9. git文件夹下项目更改ip地址小结

    在我们开发的过程中,经常切换项目IP地址是很正常的,之前弄过一次,没有记住,现在简单的总结下: 找到要切换IP地址的项目,点击鼠标右键,弹出下图: 打开该项目的路径后,双击打开该项目,具体参考自己项目 ...

  10. [Hadoop] - TaskTracker源码分析(TaskTracker节点健康状况监控)

    在TaskTracker中对象healthStatus保存了当前节点的健康状况,对应的类是org.apache.hadoop.mapred.TaskTrackerStatus.TaskTrackerH ...