我用什么来在iPhone应用程序中输入模糊输入?

时间:2010-07-04 13:07:07

标签: iphone objective-c

我需要在我的应用中获取社会安全号码,但我不希望号码本身显示在界面中。如何在不透露屏幕上的机密信息的情况下获取输入?

我必须填写这个要求我的社会保障系统编号的申请,但不是写下它应该显示为XXX-XX-XXXX而不是自己的号码,因为它是保密的。

3 个答案:

答案 0 :(得分:8)

使用secure text field代替普通文本字段(NSSecureTextField)。

但是我打赌界面构建器让你只需拖放这个字段。

<强>更新

事实上确实如此:

IB http://img156.imageshack.us/img156/1207/1007040002.png

答案 1 :(得分:1)

NSSecureTextField是iPhone中密码字段的等效项。

以下是Apple的描述:

  

安全文本字段是一种文本   从显示中隐藏其文本的字段   或通过用户的其他访问   接口。它适合用作   密码输入对象,或任何项目   其中必须保留安全值。   您的代码可以获取文本字段   使用标准的字符串值   stringValue方法,但用户不能   看到它或访问它。它压倒了很多   文本编辑方面要防止   传递对象的值   用户可用的机制   (即通过剪切,复制和粘贴   命令和服务工具)。   该对象也覆盖了该文本   系统的绘图程序没有   文字根本)。 。 。 NSSecureTextFieldCell中的每个方法都有一个NSSecureTextField的封面。 (封面是一种调用原始方法的同名方法。 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/TextField/Concepts/AboutSecureTextFields.html#//apple_ref/doc/uid/20000127-BAJCGDIH

由于NSSecureTextField派生自NSTextField,您可以在网上找到有关如何使用NSTextField的任何教程 - 只需在实现中将NSTextField替换为NSSecureTextField。我在上面加了一个重要的短语( NSSecureTextFieldCell中的每个方法都有一个NSSecureTextField 的封面)。与NSTextField对象一样与NSSecureTextField交互,接口在API级别上完全相同。

NSSecureTextField将显示在如下所示的应用程序中:

alt text

当我在Google上搜索“NSTextField Tutorial”时,我发现的第一个结果来自以下网站: http://www.pietrop.com/wordpress/dev-area/tutorials/cocoa-tutorial-nstextfield-nsbutton/#english

简而言之,您最终会得到一个类似于此的标题:

//  Controller.h

#import <Cocoa/Cocoa.h>

@interface Controller : NSObject
{
    //IBOutlets (the inteface's controllers)
    IBOutlet NSSecureTextField *inputText;
    IBOutlet NSTextField *displayedText;
    IBOutlet NSButton *updateButton;
    IBOutlet NSButton *clearButton;
}

/* IBActions (the user interface interactions) */
//Updates the text in the Wrapping Label
- (IBAction)updateText:(id)sender;

//Clears the text in the Wrapping Label and in the TextField
- (IBAction)clearText:(id)sender;

@end

答案 2 :(得分:1)

iPhone的标准UITextField在Interface Builder的“文本输入特征”选项下有一个“安全”选项。试试吧。