`

iPhone 和输入,键盘相关的属性

阅读更多

当文本输入时, 文本框有几中选择用于辅助输入:

textField.clearButtonMode = UITextFieldViewModeWhileEditing;

typedef enum {
    UITextFieldViewModeNever, //clear button 永远不出现
    UITextFieldViewModeWhileEditing, //编辑的时候出现
    UITextFieldViewModeUnlessEditing, //未编辑的时候出现
    UITextFieldViewModeAlways //永远都出现
} UITextFieldViewMode;

 

 

弹出的键盘类型也可以辅助快速输入:

textField.keyboardType = UIKeyboardTypeAlphabet;

typedef enum {
    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).

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated

} UIKeyboardType;

 

键盘的呈现风格:

textField..keyboardAppearance = UIKeyboardAppearanceAlert;

typedef enum {
    UIKeyboardAppearanceDefault,          // Default apperance for the current input method.
    UIKeyboardAppearanceAlert,            // Appearance suitable for use in "alert" scenarios.
} UIKeyboardAppearance;

 

键盘对输入字母的控制:

textField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;

typedef enum {
    UITextAutocapitalizationTypeNone, //什么也不做
    UITextAutocapitalizationTypeWords, //单词首字母大写
    UITextAutocapitalizationTypeSentences, //句子首字母大些
    UITextAutocapitalizationTypeAllCharacters, //所有字母大些
} UITextAutocapitalizationType;

 

键盘对输入字母自动纠正

textField.autocorrectionType = UITextAutocorrectionTypeYes;

typedef enum {
    UITextAutocorrectionTypeDefault,
    UITextAutocorrectionTypeNo,
    UITextAutocorrectionTypeYes,
} UITextAutocorrectionType;

 

 

确认键的类型

textField.returnKeyType = UIReturnKeyDone;

typedef enum {
    UIReturnKeyDefault,
    UIReturnKeyGo,
    UIReturnKeyGoogle,
    UIReturnKeyJoin,
    UIReturnKeyNext,
    UIReturnKeyRoute,
    UIReturnKeySearch,
    UIReturnKeySend,
    UIReturnKeyYahoo,
    UIReturnKeyDone,
    UIReturnKeyEmergencyCall,
} UIReturnKeyType;

 

 

最后一个技巧,也是网上收集,键盘透明以及增加一个按键的应用:

 [[NSNotificationCenter defaultCenter] addObserver:self

                                             selector:@selector(keyboardWillShow:) 
                                                 name:UIKeyboardWillShowNotification 
                                               object:nil];



--------------------
- (void)keyboardWillShow:(NSNotification *)note {  
    // create custom button
    UIButton *doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
    doneButton.frame = CGRectMake(0, 163, 106, 53);
    doneButton.adjustsImageWhenHighlighted = NO;
    [doneButton setImage:[UIImage imageNamed:@"DoneUp.png"] forState:UIControlStateNormal];
    [doneButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateHighlighted];
    [doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];

    // locate keyboard view
    UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
    UIView* keyboard;
    for(int i=0; i<[tempWindow.subviews count]; i++) {
        keyboard = [tempWindow.subviews objectAtIndex:i];
        // keyboard view found; add the custom button to it
        if([[keyboard description] hasPrefix:@"<UIKeyboard"] == YES)
            [keyboard addSubview:doneButton];
    }
}
 
分享到:
评论

相关推荐

    iphone自定义数字键盘

    在实际应用中,务必进行充分的测试,确保在不同情况下键盘的正常工作,包括输入逻辑、键盘的显示和隐藏、边缘滑动关闭键盘等。同时,关注性能优化,减少不必要的计算和内存占用。 通过以上步骤,你可以创建一个功能...

    swift-TKeyboard通过蓝牙用Mac键盘输入内容到iPhone

    Swift-TKeyboard项目是一个创新的解决方案,它允许用户通过蓝牙连接将Mac键盘的输入直接传递到iPhone设备上,极大地提高了在iOS设备上进行文本输入的效率。这个项目是基于Swift编程语言实现的,属于Swift开发中的...

    仿iphone软键盘输入文本框.zip

    在前端开发中,创建一个与iPhone相似的软键盘输入文本框是一项常见的需求,尤其是在移动Web应用或者模拟器中。这个“仿iphone软键盘输入文本框.zip”文件很可能包含了一个实现这种效果的示例代码,包括HTML5、jQuery...

    iphone 解决键盘遮挡和view传值的一个小例子

    以上就是关于iPhone应用开发中解决键盘遮挡问题和视图间数据传递的一个小例子。通过这个例子,我们可以更好地理解和应用这些常见问题的解决方案,提升我们的iOS开发技能。在实际项目中,可能需要根据具体需求进行...

    实现IPHONE自定义键盘

    需要注意的是,这种方法虽然能够实现自定义键盘的外观和基本功能,但它并不能替代系统键盘的所有功能,如自动纠错、预测输入等。此外,这种方式可能与系统的某些键盘特性冲突,或者在系统升级后失去兼容性。因此,在...

    仿iphone软键盘输入文本框特效代码

    在IT领域,尤其是在网页开发中,...总的来说,"仿iPhone软键盘输入文本框特效代码"是一个结合了jQuery动态操作和CSS3视觉设计的实例,对于希望提升移动Web应用交互体验的开发者来说,这是一个值得学习和研究的案例。

    jQuery可拖动多功能虚拟键盘插件

    这涉及到计算鼠标相对于键盘的位置,并更新键盘的CSS属性,如`top`和`left`,以实现动态定位。 ### 4. 中文输入支持 对于中文输入,插件可能使用了拼音输入法。当用户在中文模式下点击键盘,插件会显示拼音字母,...

    仿iphone软键盘输入文本框

    标题 "仿iphone软键盘输入文本框" 暗示了我们正在讨论的是一个网页开发中的...通过以上知识点的学习和实践,开发者可以创建一个既美观又实用的仿iPhone软键盘输入文本框,为移动用户提供更贴近原生应用的网页交互体验。

    ios应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内

    10. **考虑不同设备尺寸**:在处理键盘与输入框关系时,要考虑不同屏幕尺寸,如iPhone和iPad,以及横竖屏切换的情况。 总的来说,确保输入框在键盘弹出时依然可见,是iOS应用开发中的一个重要环节。开发者可以选择...

    iPhone 模仿百度输入提示,选择邮箱

    `UITextField`是苹果提供的用于用户输入文本的UI控件,我们可以通过设置其`delegate`属性并实现`UITextFieldDelegate`协议的方法来监听用户的输入行为和进行相应的处理。 1. 设置`UITextField`的委托: 在你的类中...

    自定义数字键盘,添加DONE按钮

    在`doneButtonTapped:`方法中,调用`textDocumentProxy`的相关方法来结束编辑并隐藏键盘。 最后,别忘了在主应用的目标中启用键盘扩展,并在Info.plist中配置相应的键盘类型。这样,用户就能在需要的地方选择你的...

    iphone与三星Galaxy的产品对比(最详尽的)

    - **iPhone**:近年来在摄像头硬件和技术方面进行了大量投入,支持多种摄影模式和视频录制功能。 - **三星Galaxy**:同样重视摄像头的表现,提供了多种像素配置和创新技术,如夜间模式、超广角镜头等。 ### 四、...

    自定义键盘的实现源码

    1. 键盘的动态布局:根据设备类型(iPhone、iPad)或横竖屏自动调整键盘大小和布局。 2. 自定义键盘的动画效果:如滑动切换数字和字母键盘,或者按键按下时的视觉反馈。 3. 更多的交互功能:如剪贴板操作、撤销/重做...

    iphone Text Field Place

    3. 自定义字体和输入工具:`font`属性用于设置字体,`inputView`属性可以替换默认的键盘,如自定义数字键盘。 错误处理: 1. 提示信息:当用户输入不符合要求时,可以使用`attributedPlaceholder`属性结合...

    水印效果和影藏软键盘

    在探讨“水印效果和隐藏软键盘”这一主题时,我们深入分析了iPhone应用程序开发中的两个关键特性:TextFile组件的水印效果实现与软键盘的隐藏机制。这两个功能不仅提升了用户界面的美观性,还优化了用户体验,尤其是...

    reactnative自定义键盘

    自定义键盘在React Native中就是一个这样的组件,它需要处理用户输入,并能根据不同的操作系统和设备特性进行适配。 在iOS和Android平台上,键盘的显示和行为有着明显的差异。例如,iOS键盘通常有明显的“Done”或...

    iOS自定义键盘

    5. 使用自定义键盘:在需要使用自定义键盘的文本输入控件中,设置其`inputView`属性为自定义键盘的`UIInputViewController`实例。 三、Objective-C代码示例 ```objective-c // 自定义键盘类 @interface ...

    IOS应用源码——自定义数字键盘.rar

    - 需要考虑不同屏幕尺寸和设备的适配,确保键盘在iPhone和iPad上都能正常显示和使用。 - 对iOS版本的支持,确保自定义键盘在较旧版本的iOS系统中也能运行。 9. 测试与调试: - 在真机和模拟器上进行全面测试,...

    Iphone控件Demo大全

    可设置占位符文本、键盘类型、最大输入长度等。通过 text 属性获取或设置输入文本,添加代理方法以监听用户输入变化。 6. UITextView:多行文本输入视图,适合长文本编辑。可通过 attributedText 属性设置富文本,...

Global site tag (gtag.js) - Google Analytics