一>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. Java线程:线程安全类和Callable与Future(有返回值的线程)

    一.线程安全类 当一个类已经很好的同步以保护它的数据时,这个类就称为线程安全的.当一个集合是安全的,有两个线程在操作同一个集合对象,当第一个线程查询集合非空后,删除集合中所有元素的时候,第二个线程也来 ...

  2. C/C++将一个整型数组拼接成一个字符串

    参考: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <stdio.h> #include <string.h> int ma ...

  3. ZooKeepr日志清理

    http://blog.csdn.net/xiaolang85/article/details/21184293

  4. java基础概略总结

    /*************************************************/ String b=""; String c=""; // ...

  5. Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置

    Oracle 12cR1 RAC 在VMware Workstation上安装(上)-OS环境配置 1.1  整体规划部分 1.1.1  所需软件介绍 Oracle RAC不支持异构平台.在同一个集群 ...

  6. JDK分析工具&JVM垃圾回收(转)

    转自:http://blog.163.com/itjin45@126/blog/static/10510751320144201519454/ 官方手册:http://docs.oracle.com/ ...

  7. 持久层框架之MyBatis

    1.mybatis框架介绍: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...

  8. DllRegisterServer的调用失败的问题解决方法

    1'按键盘上的win+x键调出常用命令. 2'选择“命令提示符(管理员)“ 3'在”命令提示符“中输入”regsvr32 c:\Windows\SysWOW64\comdlg32.ocx“或其他ocx ...

  9. Activity启动过程分析

    Android的四大组件中除了BroadCastReceiver以外,其他三种组件都必须在AndroidManifest中注册,对于BroadCastReceiver来说,它既可以在AndroidMa ...

  10. phpcmsV9于基本介绍

    1.phpcms做企业站 2.内容+管理栏目=页面显示的导航 3.文件目录结构 根目录 api 接口文件目录 caches 缓存文件目录 confings 系统配置文件目录 caches_*系统缓存目 ...