要求TextField不能直接输入只能粘贴输入

ViewController.m


@interface ViewController ()<UITextFieldDelegate>

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 100, 100, 30)];
    textField.delegate = self;
    [textField setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:textField];
    
}

// YES: 能输入 NO:不能输入
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    return NO;
}
- (BOOL)canPerformAction:(SEL)action withSender:(nullable id)sender
{
    return (action == @selector(paste:));
}


UITextField+Paste.m

@implementation UITextField (Paste)
- (void)paste:(UIMenuController *)menu
{
    // 将粘贴板的文字赋值给label
    self.text = [UIPasteboard generalPasteboard].string;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发中,页面传值是很常见的,但是页面传值你究竟知道多少呢?笔者这篇文章就是给大家介绍一下页面传值的具体方式,...
    蒲公英少年阅读 2,181评论 10 44
  • 用cocoaPods配置第三方文件 第一步。打开终端 第二步。cd+文件夹 第三步。pod init 第四步。打开...
    不说谎的匹诺曹Y阅读 1,121评论 0 1
  • 最近一到双休日就有出门走走逛逛的冲动,获悉桐梓九坝召开观花节,便说走就走的、旅行。 对于九坝还是比较陌生,心动不如...
    尘子223阅读 277评论 0 0
  • 三年前一个下着小雨的清早,昏黄的路灯还没有熄灭,我曾站在西安的街头望着周围藏在雾霾里高楼,不知道该去向哪里,周围所...
    听牛弹琴阅读 245评论 0 1