iOS之UI学习-UITextView

#import "ViewController.h"

@interface ViewController ()<UITextViewDelegate>{

    UITextView *_textView;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //创建文本视图
    _textView = [[UITextView alloc] initWithFrame:CGRectMake(60, 100, 200, 100)];
    //文本视图显示的文字
    _textView.text = @"简单创建textView";
    //文本视图的字体格式和大小
    _textView.font = [UIFont fontWithName:@"Arial" size:16];
    //设置文本视图的文本颜色
    _textView.textColor = [UIColor yellowColor];
    //设置背景颜色
    _textView.backgroundColor = [UIColor lightGrayColor];
    //设置代理
    _textView.delegate = self;
    //设置文本视图是否可以进行输入
    _textView.editable = YES;
    //添加到视图上
    [self.view addSubview:_textView];
   
    //添加单击手势回收键盘
    UITapGestureRecognizer *singleRecognizer;
    singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTapFrom)];
    singleRecognizer.numberOfTapsRequired = 1;
    [self.view addGestureRecognizer:singleRecognizer];
}

#pragma mark - UITextViewDelegate
//将要开始编辑的时候调用
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView{

    NSLog(@"将要开始编辑");
    return YES;
}

//将要结束编辑的时候调用
- (BOOL)textViewShouldEndEditing:(UITextView *)textView{

    NSLog(@"将要结束编辑");
    return YES;
}

//已经开始编辑的时候调用
- (void)textViewDidBeginEditing:(UITextView *)textView{

    NSLog(@"已经开始编辑");
}

//已经结束辩解的时候调用
- (void)textViewDidEndEditing:(UITextView *)textView{

    NSLog(@"已经结束编辑");
}

/*range包含文本改变的起始地址和长度.
text包含的是改变的是内容,例如进行删除操作,那么text则为空;进行输入,text则为输入的内容*/
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
    
    if ([text isEqualToString:@"x"])
        NSLog(@"输入了x");
    return YES;
}

//当文本视图的文本发生改变的时候调用
- (void)textViewDidChange:(UITextView *)textView{

    NSLog(@"文本改变了");
}

//光标位置发生改变的时候调用
- (void)textViewDidChangeSelection:(UITextView *)textView{

    NSLog(@"光标移动了");
}

//收回键盘
- (void)handleSingleTapFrom{

    [_textView resignFirstResponder];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

以下是UITextView(文本视图)和UITextField(文本框)的继承顺序:

       UITextView  -> UIScrollView -> UIView -> UIResponder -> NSObject

       UITextField -> UIControl -> UIView -> UIResponder -> NSObject

文本视图和文本框的区别还是很大的,例如文本框不能够进行换行,但是文本视图可以,并可以滚动浏览文本内容。

进行iOS开发中UI学习是非常简单的,UI控件的学习不涉及诸多的逻辑问题,所以还是简单易学的。


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值