文档章节

iOS键盘点击enter键发生的那些事儿

杭城小刘
 杭城小刘
发布于 2015/10/09 10:41
字数 401
阅读 2468
收藏 0
#import "ViewController.h"

@interface ViewController () <UITextFieldDelegate>
@property (weak, nonatomic) IBOutlet UITextField *usernameTextfield;
@property (weak, nonatomic) IBOutlet UITextField *passwordTextfield;
@property (weak, nonatomic) IBOutlet UIButton *loginBtn;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //设置usernameTextfield及passwordTextfield的相关属性
    
    //设置 usernameTextfield 的键盘类型
    /*
     typedef NS_ENUM(NSInteger, UIKeyboardType) {
     UIKeyboardTypeDefault,                // Default type for the current input method.
     UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
     UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
     UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
     UIKeyboardTypeNumberPad,              // A number pad (0-9). Suitable for PIN entry.
     UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
     UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
     UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).
     UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // A number pad with a decimal point.
     UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // A type optimized for twitter text entry (easy access to @ #)
     UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // A default keyboard type with URL-oriented addition (shows space . prominently).
     
     UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated
     
     };
     */
    
    //self.usernameTextfield.keyboardType = UIKeyboardTypeNumberPad;
    
    //设置usernameTextfield的 returnkey
    self.usernameTextfield.returnKeyType = UIReturnKeyNext;
    
    //设置代理前必须让本类支持该协议,并将代理设置为自己
    self.usernameTextfield.delegate = self;
    
    
    //设置 usernameTextfield
    self.passwordTextfield.keyboardType = UIKeyboardTypeEmailAddress;
    self.passwordTextfield.returnKeyType = UIReturnKeyDone;
    self.passwordTextfield.delegate =self;
    
    //使你输入的密码变为小原点,及一般应用都这么做
    self.passwordTextfield.secureTextEntry = YES;
    
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
- (IBAction)clickLoginBtn:(UIButton *)sender {
    NSLog(@"登录成功");
}

#pragma mark - UITextFieldDelegate

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    if (textField == self.usernameTextfield) {
        //self.usernameTextfield放弃第一响应者,而self.passwordTextfield变为第一响应者
        [self.usernameTextfield resignFirstResponder];
        [self.passwordTextfield becomeFirstResponder];
    } else if(textField == self.passwordTextfield) {
        //self.passwordTextfield放弃第一响应者,并调用登录函数
        [self.passwordTextfield resignFirstResponder];
        [self.loginBtn sendActionsForControlEvents:UIControlEventTouchUpInside];
        //[self clickLoginBtn:self.loginBtn];
    }
    return YES;
}
@end

© 著作权归作者所有

杭城小刘

杭城小刘

粉丝 32
博文 118
码字总数 93818
作品 0
杭州
iOS工程师
私信 提问
iOS 7.1 初探

iOS 7.1 beta今晨已经悄悄到来,作为一个较大的版本迭代,这次苹果带来了一系列的细节改善和性能上的提升。Cult of Mac与9to5Mac第一时间对新固件进行了测试。 (P.S目前iOS 7.1 beta 1固件已...

oschina
2013/11/19
4.5K
22
使用 HTML5 input 类型提升移动端输入体验

在过去的几年里,在移动设备上浏览网页已变得难以置信的受欢迎。 但是这些设备上的浏览体验,有时遗留很多的有待改进。当涉及到填写表单时,这一点尤为明显。幸运的是,HTML5规范引入了许多新...

彭博
2014/06/21
37.7K
0
ios 最新系统bug与解决——微信公众号中弹出键盘再收起时,原虚拟键盘位点击事件无效

最近ios发布新版本系统12.1,随着部分用户的系统更新,一些问题也渐渐暴露出来。。。 公司用户反映微信公众号出现了点击无效的bug!!测试调查发现,只有iphonex、iphone6,ihpone7等部分机型...

ZoenLeo
2018/12/06
0
0
移动端页面自定义input唤起键盘return,换行键为搜索

最近产品有个需求:移动端页面自定义input唤起键盘return,换行键为搜索。我的第一反应我要阻止原生的键盘弹起并且用js写一个虚拟键盘还要可以输入中文!!!想想就觉得可怕。 将input的typ...

hollyDysania
2018/12/07
0
0
IOS12开发者预览版第二版使用评测

     手头有一部iPhone 6s Plus,因为之前看同学和朋友们升到IOS 11后手机变得非常卡顿所以没有升级。最近偶然看到IOS 12针对旧机型做了性能优化,号称提升70%相机打开速度、50%键盘显示...

张旭乾
2018/06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
1K
12
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
22
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
17
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
27
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部