ios note(二)

iOS 控件交互与键盘管理
这篇博客主要介绍了iOS中UIButton的使用,包括创建加号按钮和移除监听方法。同时,详细讲解了控件的状态管理、内容布局以及添加/删除监听方法。此外,还探讨了代理的作用、实现步骤,并以UITextField为例,展示了如何通过代理监听输入数据、处理占位符、响应回车事件以及实现输入内容的隐藏和清除。最后,介绍了如何关闭键盘的两种方法。

1、UIButton *btn = [UIButton buttinWithType:UIButtonTypeContactAdd];

\\加号按钮

2、[btn removeTarget:....]

//删除监听方法

3、
a>设置控件的状态


@property(nonatomic, getter = isEnabled) BOOL enabled;//启用,禁用

@property(nonatomic, getter = isSelected) BOOL selected;//选中,不选中

@property(nonatomic, getter = isHighlighted) BOOL highlighted;//高亮或者不高亮

b>设置控件内容布局

垂直居中方向

@property(nonatomic) UIControlCoutentVerticalAlignment coutentVerticalAlignment;

水平居中方向

@property(nonatomic) UIControlCoutentHorizontalAlignment coutentHorizontalAlignment;

c>添加/删除监听方法

-(void)addTarget:(id)target action:(SEL)cation forControlEvents:(UIControlEvents)controlEvents;

-(void)removeTarget:(id)target action:(SEL)cation forControlEvents:(UIControlEvents)controlEvents;

4、

a、代理的用处是什么?
监听那些不能通过addTarget方法监听的事件

代理是一种设计模式,带oc中使用广泛,主要负责用来在两个对象之间,发生某些事件时传递消息和数据

b、代理的实现步骤

     (1)  成为(子)控件的代理,父亲(控制器)成为儿子(文本框)的代理(拖线)

      (2) 遵守协议->利用智能提示,快速编写代码

       (3)实现协议方法


5关于textfield

a、

 textfiele中监听输入数据的代理:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

//如

NSLog(@"%@ %@",NSStringFromRange(range),string);//通过输出确定变量含义

//限制输入长度

int loc = range.location;

return (loc < 6);

//如果返回NO,就不向文本框中添加字符


}

//个人理解:控件每输入一次数据,都会调用代理,因此实现监听

b、

属性中Placeholder为占位符,即每输入文字时显示在文本框中起提示作用的一行字

c、在文本框中按回车的处理:

//两个textfield属性 userNameText(用户名)和pwdText(密码),viewController是他们共同的代理时

-(BOOL)textFieldShouldReturn:(UITextField *)textField

{

    NSLog(@"%@",textField);

   //如果光标在用户名,切换到密码

    if(textField == self.userNameText){

        //密码成为第一响应者

         [self.pwdText becomeFirstResponder];

    }else if(textField == self.pwdText){

        //如果是密码,直接调用登陆方法

        [self login];

    }
}


d、textfield中return key中的secure勾选,可以隐藏输入的内容

e、clear button中 选择Appears while editing可以实现输入时全部清楚的圆形按钮


6、NSLog(@"%s",__func__);//输出正在运行的方法

7、关闭键盘方法:

  a、[self.view endEidting:YES];//不知道光标在哪里时,强制关闭键盘

  b、在特定位置关闭键盘,[textField resignFirstResponder];//此时,键盘在输入textfield内容的地方出现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值