UITextView 的使用

直接上代码:

//
//  RootViewController.m
//  UIText_test
//
//

#import "RootViewController.h"
#import <QuartzCore/QuartzCore.h>    /// 用户视觉反馈


@interface RootViewController ()<UITextViewDelegate>

@property (nonatomic, strong) UIToolbar *toolBar ;
@property (nonatomic, strong) UITextView *textView ;

@end

@implementation RootViewController

- (UIToolbar *)toolBar {
    if (!_toolBar) {
        self.toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 375, 30)];
        [_toolBar setBarStyle:UIBarStyleBlack];
        UIBarButtonItem *oneButton = [[UIBarButtonItem alloc] initWithTitle:@"开始" style:UIBarButtonItemStyleDone target:self action:nil];

        UIBarButtonItem *twoButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:self action:nil];

        UIBarButtonItem *threeButton = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(handleThreeBtn)];

        NSArray *buttonArray = [NSArray arrayWithObjects:oneButton, twoButton, threeButton, nil];
        [_toolBar setItems:buttonArray]; // 添加到 toolBar 上
    }
    return _toolBar;
}

- (UITextView *)textView {
    if (!_textView) {
        self.textView = [[UITextView alloc] initWithFrame:CGRectMake(5, 200, 375, 190)];
        _textView.textColor = [UIColor redColor];
        _textView.font = [UIFont systemFontOfSize:20];
        _textView.delegate = self;
        [_textView.layer setCornerRadius:10];  // 设置成圆角
        _textView.backgroundColor = [UIColor cyanColor];
        _textView.text = @"sfjlegjklaeyg a";
        _textView.scrollEnabled = YES;
        _textView.autoresizingMask = UIViewAutoresizingFlexibleHeight ; // 自适应高度
        [_textView setInputAccessoryView:self.toolBar];  // 设置辅助视图
    }
    return _textView;
}

- (void)viewDidLoad {
    [super viewDidLoad];

    [self.view addSubview:self.textView];

    // 自定义菜单项
    UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"分享到新浪微博" action:@selector(changeColor)];
    UIMenuController *menu = [UIMenuController sharedMenuController];
    [menu setMenuItems:[NSArray arrayWithObject:menuItem]]; //添加
}


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

#pragma mark - Action -

- (void)handleThreeBtn {
    [self.textView resignFirstResponder];    // 撤销第一次响应
}

- (void)changeColor {
    self.view.backgroundColor = [UIColor colorWithRed:arc4random() % 256 / 255.0 green:arc4random() % 256 / 255.0 blue:arc4random() % 256 / 255.0 alpha:1];
}

- (void)handleDone {
    [self.textView resignFirstResponder]; // 撤销第一响应
}

#pragma mark - UITextViewDelegate -

// 完成开始编辑
- (void)textViewDidBeginEditing:(UITextView *)textView {
    UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(handleDone)];
    self.navigationItem.rightBarButtonItem = done;
}

// 完成结束编辑
- (void)textViewDidEndEditing:(UITextView *)textView {
    self.navigationItem.rightBarButtonItem = nil;   /// 导航条按钮设置为空
}

// 当文本发生改变时
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    if ([text isEqual:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
    }
    return YES;
}


@end
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值