iOS开发之自定义键盘(数字,字母类型等随意切换)

本文介绍了在iOS开发中如何自定义键盘,包括数字和字母类型的切换。通过创建一个继承自UITextField的PassTextField类,并设置inputView为自定义键盘视图,实现了键盘的切换和功能操作,如大小写切换、空格键和数字键盘的切换。详细代码示例和项目源码链接提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目开发很多时候用系统给的键盘不是很满足自身实际需求,那就自定义一个吧:

方法其实很简单,重新定义一个view,继承UItextfield,把UI设计好的需求键盘加入新的otherKeyboardView,然后执行代码:

 self.inputView =self.otherKeyBoardView;

  [selfreloadInputViews];


具体效果如下:


自己封装了一个PassTextField类,直接调用就ok:

- (void)viewDidLoad {

    [super viewDidLoad];

    

    //自定义键盘调用

    PassTextFild *searchTextField =[[PassTextFild alloc]initWithFrame:CGRectMake(20,50, 280, 28)];

    searchTextField.borderStyle =UITextBorderStyleRoundedRect;

    searchTextField.placeholder =@"请输入代码或拼音首字母";

    searchTextField.font =[UIFont systemFontOfSize:13];

    searchTextField.contentVerticalAlignment =UIControlContentVerticalAlignmentCenter;

    searchTextField.autocorrectionType =UITextAutocorrectionTypeNo;

    searchTextField.returnKeyType = UIReturnKeyDone;

    searchTextField.keyboardType =UIKeyboardTypeDefault;

    searchTextField.clearButtonMode = UITextFieldViewModeAlways;

    searchTextField.text =@"";

    [self.view addSubview:searchTextField];

    [searchTextField becomeFirstResponder];

}


主要功能代码如下:

if (pressButtonCapital.selected)

    {

        addString =[addString uppercaseString];

    }

    NSMutableString* mutableString = [[NSMutableStringalloc] initWithFormat:@"%@%@",self.text, addString];

    self.text = mutableString;

    [selfsearchAllTextField];


//切换到123键盘

-(void)changeNumberKeyBoard

{

    self.inputView =keyBoardView;

    [selfreloadInputViews];

}

//空格

-(void)addNullAction

{

    NSMutableString* mutableString = [[NSMutableStringalloc] initWithFormat:@"%@ ",self.text];

    self.text = mutableString;

    [selfsearchAllTextField];

}


//大小写切换

-(void)pressCapitalAction:(UIButton *)button

{

    if (button.selected){

        button.selected =NO;

        bacDaXieImage.image =[UIImageimageNamed:@"da_.png"];

    }else{

        button.selected =YES;

        bacDaXieImage.image =[UIImageimageNamed:@"da.png"];

    }

}



好吧,废话不多说了,具体dema直接下载:https://github.com/Deng0512/SelfKeyBoard点击打开链接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值