11 -25
写此类页面时应注意的问题:
1.适配 : 随着Xcode更新,用self.view 可能出现问题,用main.bounds;
2.键盘问题:手机号用数字键盘(UIKeyboardTypeNumberPad);
密码键盘:UIKeyboardTypeASCIICapable;
邮箱键盘:UIKeyboardTypeEmailAddress;
3.键盘上移问题:键盘高度,记住216一般就可以解决键盘遮挡问题;
键盘高度,在ios5.0之前呢键盘高度固定是216像素高,而ios5.0之后包括ios5.0键盘的高度再不是固定的,当由英文切换在中文输入时,键盘由原来的216变成了252
4.获取验证码:实现倒计时功能,不可多次点击,防止出现倒计时计数乱问题;
方法:点击获取验证码按钮后,关闭用户交互,在倒计时时间为0时再次开启。
5.默认设置:提高用户体验,可以为一些条件设置默认值。
补充: 键盘种类----- 12种
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
};