iOS笔记之UIKit_UITextField

本文详细介绍了iOS开发中文本框的事件监听机制,包括开始编辑、结束编辑以及键盘返回键触发的行为。同时,展示了如何在不破坏布局的情况下实现文本自动换行的功能,通过设置文本框的换行属性和计算文本高度,确保内容清晰展示。

- (void)viewDidLoad

{

    [super viewDidLoad];

    //建立在你已经遵守了<协议UITextFieldDelegate>

    self.numTF.delegate  = self;

    self.passTF.delegate = self;

    //密文显示

    self.passTF.secureTextEntry = YES;

}

 

#pragma mark- UITextField事件监听

//当输入文本框将要开始编辑时

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

{

    NSLog(@"单行输入文本框将要开始编辑时");

    return YES;

}

 

//当输入文本框开始进入编辑模式时

- (void)textFieldDidBeginEditing:(UITextField *)textField

{

    NSLog(@"单行输入文本框开始编辑时");

}

 

//将要完成编辑时调用

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField

{

    NSLog(@"单行输入文本框将要完成编辑");

    return YES;

}

//已经退出编辑模式时

- (void)textFieldDidEndEditing:(UITextField *)textField

{

    NSLog(@"已经退出编辑模式时调用");

    //打印当前TextField的内容

    NSLog(@"%@",textField.text);

    //显示到TextLabel

    self.textLabel.text = textField.text;

}

 

//当你按下键盘上的Return键时调用该方法

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    //选中当行输入文本框时,就改变第一消息响应者的身份。

    [self.numTF resignFirstResponder];

    [self.passTF resignFirstResponder];

    return YES;

}

 

#pragma mark-字体换行

- (void)viewDidLoad

{

    [super viewDidLoad];

  //默认自动换行

    self.myLabel.numberOfLines = 0;

  //显示的内容

    NSString *string = @"asdfaeatretgfdsgfdgsdgsdgfsdgsdfgsdfgerwtewrtywetyhwerghgfshw4tygwtrfg";

  //显示的颜色 

  self.myLabel.backgroundColor = [UIColor redColor];

  //显示出内容

    self.myLabel.text = string;

    //计算文本高度(字典)

    NSDictionary *attribute = @{NSFontAttributeName: self.myLabel.font};

    CGSize size = [string boundingRectWithSize:CGSizeMake(100, 0) options: NSStringDrawingTruncatesLastVisibleLine | NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:attribute context:nil].size;

    

    CGRect frame = self.myLabel.frame;

    frame.size.height = size.height;

    self.myLabel.frame = frame;

}

转载于:https://www.cnblogs.com/mapanguan/p/4149809.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值