zoukankan      html  css  js  c++  java
  • (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)

    (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0) 

    更新:ios4.1现在已经将这个做到SDK了。你可以设置键盘类型为UIKeyboardTypeDecimalPad!完成!

    在开发iphone程序的时候你可以选择各种键盘。其中的数字面板却没有带小数点。在底部的左下角有一个空白按钮,什么作用都没有。所以我将向你展示怎么将一个小数点按钮放在那里,看起来像这样的: 


    有一些其他的教程向你展示如何做到这样,但是我相信我的更好。因为代码简单易用,更灵活,并且UI颜色和按钮状态完美的融入键盘余下的部分(和一些教程不同)。你用来实现的代码和类似这样的:

    @interface DecimalPointNumberPadViewController :UIViewController <UITextFieldDelegate> {

            NumberKeypadDecimalPoint*numberKeyPad;

    }

    @end

     

    @implementation DecimalPointNumberPadViewController

    - (void) textFieldDidBeginEditing:(UITextField*)textField {

            numberKeyPad= [[NumberKeypadDecimalPoint keypadForTextField:textField] retain];

    }

    - (void)textFieldDidEndEditing:(UITextField *)textField {

            [numberKeyPadrelease];

    }

    @end

     

    ·       它适合于任何view conreoller上显示的任何UITextFields.

    ·       每一个text field只会添加一个小数点.

    这里是我实现的基本步骤:

    1.   创建一个自定义的背景透明并且文本为灰色的UIButton.

    2.   高亮状态我改变按钮的背景图片和文本颜色换成白色

    3.   我找到程序里windows的UIKeyboard并将自定义按钮添加指定位置

    4.   我添加一个delegate到按钮上来监听点击事件并发送事件到添加小数点到UITextField的handler

    2010年6月5日更新:OS4兼容并只使用公开API

    由于使用私有API违反了SDK的协议,我已经更新代码移除任何和私有API相关的代码。并且现在在OS4.0上兼容。

    2010年7月20日更新:这份代码作为我开发的app的一部分并且已经被apple接受。

    我的xcode的一份拷贝:

    DecimalPointNumberPad-v4

    谢谢

  • 相关阅读:
    java 中for each语句
    设备树使用手册
    Java中 final static super this instanceof 关键字用法
    Java 抽象类与oop三大特征
    Views的补充
    Form表单组件验证
    django信号相关
    缓存实例
    自定义django中间件
    【主机管理项目】-(路由表)
  • 原文地址:https://www.cnblogs.com/new0801/p/6175881.html
Copyright © 2011-2022 走看看