UI第二课

主要内容:UIButton、UITextField、delegate

一、UITextField

       UITextField(输入框):是控制文本输入和显示的控件

       UILable和UITextField的区别是:UILable是不能输入文本,UITextField允许用户输入

       创建UITextField的步骤:

              1、申请空间并确定位置大小

              2、设置相关属性

              3、添加到主视图上

              4、释放

      常用方法:

      文本显示:

属性名描述示例
text要显示的文本的内容textField.text = @"用户名" ;
textColor文本的字体颜色textField.textColor = [UIColor  redColor] ;
textAlignment文本的对齐方式textField.textAlignment = NSTextAlignmentLeft ;
 / / 左对齐
font字体的大小textField.font = [UIFont  fontWithName:
@"Helvtica - Bold" size = 20.f ] ;
/ / 黑体 20号字体
placeholder占位符(没有输入时,输入框内默认显示的文字)textField.placeholder = @"请输入用户名";

          输入控制:

属性名描述示例
enabled是否允许输入textField.enabled = YES;
/ / 允许输入
clearsOnBeginEditing再次输入时是否清空输入框内容textField.clearsOnBeginEditing = YES;
/ / 再次输入时清空输入框内的内容
secureTextEntry内容是否为密文的形式textField.secureTextEntry = YES;
 / / 以密文的形式显示
keyBoardType弹出键盘的样式textField.keyBoardType = UIKeyBoardTypeNumberPad;
/ / 数字键盘
returnKeyType键盘右下角return按键的按钮类型textField.returnKeyType = UIReturnKeyDone ;
/ / 将键盘右下角return按键的按钮换为Done
inputView自定义输入视图textField.inputView = myInputView;
tag设置标签textField.tag = 1001; / / 设置标签为1001

      外观控制:

属性名描述示例
borderStyle边框样式(枚举值类型)textField.borderStyle = UITextBoaderStyleRoundedRect ;
/ / 将边框设置为圆角矩形
clearButtonMode清除按钮模式(枚举值类型)textField.clearButtonMode = UITextFieldViewModeAlways ;
/ / 总是显示清除按钮
leftView左视图textField.leftView = leftView;
leftViewMode左视图显示样式textField.leftViewMode = UITextFieldViewModeAlways ;
rightView右视图textField.rightView = rightView ;
rightViewMode右视图显示样式textField.rightViewMode = UITextFieldViewModeAlways ;

二、UIButton

       UIButton(按钮):是响应用户点击的控件,侧重于点按

       创建步骤:

              1、创建button对象

              2、设置按钮的相关属性

              3、为按钮添加事件

              4、添加到父视图上

              5、按钮无需释放

       常用方法:

       添加事件

方法名描述示例
addTarget:action:forControlEvents:为按钮添加事件,指定按钮点击之后,
执行target的action事件
[ loginButton addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside ] ;
removeTarget:action:forControlEvents:移除按钮的点击事件[ loginButton removeTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside ] ;


     

         总结:

                1、UIView是所有可视化视图的基类

                2、UILable、UITextField、UIButton是具有特定外观特定功能的视图

                3、UILable侧重于文本的呈现

                4、UITextField侧重于输入

                5、UIButton侧重于点击事件的处理
三、delegate

       点击键盘return按钮实现键盘回收的步骤

              1、将AppDelegate作为UITextField的delegate

              2、AppDelegate.h文件接受UITextFieldDelegate协议

              3、AppDelegate.m实现textFieldShouldReturn方法

       代码示例:

              AppDelegate.m

              - (BOOL)textFieldShouldReturn:(UITextField *)textField

              {

                            [ textField  resignFirstResponder ] ;

                            return  YES;

              }

四、iOS程序启动流程

       无论任何一个程序,程序的入口都是main.m文件

       int main(){

               @autoreleasepool {

                           return  UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

                }

       }

       执行UIApplicationMain函数时,跳转到AppDelegate函数

       UIApplicationMain在程序入口函数main函数中调用,主要实现了3个功能:

                 1、创建应用程序(UIApplication)实例

                 2、创建应用程序代理实例

                 3、建立事件循环(runloop,死循环,不断检测程序运行状态,是否被触摸、晃动等)

       UIApplicationDelegate是一个OC的协议,里面的方法主要都与应用程序的运行状态有关

方法名描述
application:didFinishLaunchingWithOptions:告诉delegate程序即将启动完成,程序准备要运行(delegate实现这个方法时,要创建window对象,将程序内容通过window呈现给用户)
applicationDidBecomeActive:告诉delegate程序已经进入活跃状态(重新执行被暂停的程序)
applicationWillResignActive:告诉delegate程序即将进入非活跃状态(暂停游戏、结束timer等)
applicationDidEnterBackground:告诉delegate程序已经进入后台(存储用户数据,释放一些共享资源,停止timer等)
applicationWillEnterForeground告诉delegate程序即将进入前台(取消所有进入后台时暂停的任务)

         [self.window  makeKeyAndVisible];  / / 让window变的可视,即显示window

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值