iOS-自己定义键盘选择器

目标样式:

直接上代码:

遵守协议

<UIPickerViewDataSource,UIPickerViewDelegate>

实现方法

//创建 UITextField 设置setInputAccessoryView 为自己定义Toolbar 而且将键盘样式更改为键盘选择器
-(void)creatTextField{
    UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 64, [UIScreen mainScreen].bounds.size.width - 20, 44)];
    [textField setInputAccessoryView:self.kbToolbar];

    //自己定义键盘选择器
    UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, 320)];
    [pickerView setDataSource:self];
    [pickerView setDelegate:self];
    //选择指示器
    [pickerView setShowsSelectionIndicator:YES];
    //键盘类型自己定义
    [self.sourceFD setInputView:pickerView];

    [textField setInputView:pickerView];
    [self.view addSubview:textField];
}

实现数据源和代理方法

#pragma mark - UIPickerViewDelegate 和 UIPickerViewDataSource
//必须实现
// returns the number of ‘columns‘ to display. ->选择器一共同拥有多少列!
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
    return 1;
}

// returns the # of rows in each component.. -> 选择器每列有多少行!
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    return 5;
}

//选择器每行名称
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
    if (row == 0) {
        return @"人民币(RMB)";
    }else if (row == 1){
        return @"美元(USD)";
    }else if (row == 2){
        return @"英镑(GBP)";
    }else if (row == 3){
        return @"日元(JPY)";
    }else if (row == 4){
        return @"欧元(EUR)";
    }else{
        return @"..";
    }
}
时间: 2024-08-10 23:26:23

iOS-自己定义键盘选择器的相关文章

Xamarin iOS教程之键盘的使用和设置

Xamarin iOS教程之键盘的使用和设置 Xamarin iOS使用键盘 在文本框和文本视图中可以看到,当用户在触摸这些视图后,就会弹出键盘.本节将主要讲解键盘的输入类型定义.显示键盘时改变输入视图的位置等内容. Xamarin iOS定制键盘的输入类型 键盘的类型不只一种,而是有很多种的.当用户要实现编辑一个联系人时,键盘就会随着所输入的内容不同而发生变化.例如当要输入联系人的电话号码时,键盘就变为数字键盘.在不同的地方使用不同类型的键盘,会使用户的操作变得简单.要定制键盘的显示类型其实很

【转】IOS 输入框被键盘遮盖的解决方法

做IOS开发时,难免会遇到输入框被键盘遮掩的问题.上网上搜索了很多相关的解决方案,看了很多,但是由衷的觉得太麻烦了. 有的解决方案是将视图上的所有的东西都添加到一个滚动视图对象( UIScrollView )中,然后滚动视图实现输入框不被软键盘覆盖,个人觉得此方案好是好,但是太过麻烦. 有的解决方案是通过一个通知 UIKeyboardDidShowNotification去实现的,需要用到事件监听,而且需要自己定义并实现“将要开始编辑”与“结束编辑”这两个监听事件中的方法.本人也觉得很麻烦. 参

ios动态获得键盘高度,并改变对话框的位置

NSNotificationCenter:键盘出现.消失时的通知 UIKeyboardWillShowNotification;UIKeyboardDidShowNotification;UIKeyboardWillHideNotification;UIKeyboardDidHideNotification; 在要使用键盘的视图控制器中(既viewDidLoad中),接收键盘事件的通知: - (void) registerForKeyboardNotifications{ //键盘改变时候会调用

iOS开发隐藏键盘方法总结

iOS开发里键盘是经常需要打交道的地方,下面为大家带来我整理总结的几种隐藏键盘的方法. 一.隐藏自身软键盘 当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exit事件.在点击软键盘右下角的“Return”按钮后,会触发该事件.该事件有一个sender参数表示当前文本框,这样便可以编写一个通用的事件处理方法(.m文件). - (IBAction)TextField_DidEndOnExit:(id)sender 

iOS: 让键盘消失的的4种方法

转自:http://leopard168.blog.163.com/blog/static/168471844201422121310352/ 在iOS app中,只要用到编辑框(UITextField)的地方,就得处理键盘消失 (dismiss keyboard). 我先后用过4种方法,来处理键盘消失的问题. 1. 通过UITextFiledDelegate,来释放第一响应者 (resignFirstResponder): 这种通过delegate释放键盘的代码如下: -(BOOL)textF

iOS TextField数字键盘的限制位数处理(特别适用于手机登陆)

Hi~大家好,这么长时间不和大家见面了,说来惭愧,最近忙于工作,已经很久没有写博客了, 接下来和大家分享一下在iOS下数字键盘限位的处理---好,废话不多说直接上代码 在用手机号登陆的时候大家有没有遇到这个问题? 就是一边想要输入到一定位数要限制输入,但是删除的时候还要能删除,今天小编遇到了这个问题,解决好半天,最终把它解决了,好了接下来给大家分享一下 相信大家都知道,输入框是用 UITextField的吧,其他的都不说了,要用textField的话实现代理方法,最重要的一点是设置他的键盘模式为

iOS enum 定义与使用

枚举其实很重要,特别是在应用开发初期,服务器端数据格式需要更改得情况下,枚举和宏都能是程序简洁,并且改动小. 网上有个人写的言简意赅,适合初学 转自:http://blog.csdn.net/ysy441088327/article/details/8012677 题记: 蛋疼的枚举, 千万别小视了! 进入正题: 首先要知道的是,枚举值 它是一个整形(int) 并且,它不参加内存的占用和释放 枚举定义变量即可直接使用,不用初始化. 枚举的定义如下: typedef enum { //以下是枚举成

IOS开发隐藏键盘的4种方法

IOS开发隐藏键盘的4种方法 开发的app中常会用到键盘输入完成后隐藏键盘的情况.在此总结了4种方法来实现我们的目的. 方法一--delegate方式 第一种隐藏键盘的方法,称为delegate三步法: 1. 遵循(委托/代理); 2. 调用; 3. 关联头文件(ViewController.h)中遵循代理 . 代码如下: #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UITextFieldDel

IOS 隐藏软键盘的3种方法

IOS开发里软键盘是经常需要打交道的地方,下面为大家带来我整理总结的3种隐藏键盘的方法. 使用软键盘的 Done 键隐藏键盘 出发软键盘隐藏最常用的事件是文本框的 Did End on Exit,它在用户按软键盘中的 Done 键时发生.选中一个UITextField控件,点击鼠标右键弹出面板,鼠标左键按住 Did End on Exit 事件旁边的圆圈,然后拖曳到右侧 .h 文件中,命名为 CloseTheKeyBoard,在 m 文件中具体实现如下图所示(此处同时显示 .h 文件与 .m 文