使用QuickDialog和JSON的SecureTextEntry?

时间:2013-07-27 13:57:25

标签: ios ios5 quickdialog

我正在尝试通过JSON运行示例QuickDialog。我目前有:

{
    "grouped": true,
    "title": "Hello World",
    "controllerName": "MySampleController",
    "sections":
    [
        { "title":"Question:", "elements":
            [
                { "type":"QLabelElement", "title":"Hello", "value":"world!"},
                { "type":"QEntryElement", "key":"login",  "bind":"textValue:username", "title":"Login"},
                { "type":"QEntryElement", "key":"password",  "bind":"textValue:password", "title":"Password"}
            ]
        }
    ]
}

显示标签,用户名和密码输入。我想让密码输入安全,但我一直无法通过JSON弄清楚如何做到这一点。

我尝试添加以下元素:

"secureTextEntry":"yes"但我得到一个例外:

[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key secureTextInput.'
*** First throw call stack:

有关如何通过QuickDialog的JSON实现使其正常工作的任何建议?

2 个答案:

答案 0 :(得分:0)

我通过另一个StackOverflow成员提交此答案:

Why does valueForKey: on a UITextField throws an exception for UITextInputTraits properties?

UITextField的某些属性不符合KVC标准。

在那个问题中,还有另一个人调整了UITextField以允许解决方法。

答案 1 :(得分:0)

使用像我正在使用的代码可能不是真正的方式。但是你可以修改

根据您的要求

QEntryElement.h和QEntryElement.m文件。

删除此self.secureTextEntry = NO;来自QEntryElement.m文件中- (QEntryElement *)init的行。

enter image description here

我修改了入口元素文件并获得了securetext条目。

enter image description here

请参阅我修改后的方法可能会对您有所帮助

- (QEntryElement *)initWithTitle:(NSString *)title Value:(NSString *)value Placeholder:(NSString *)placeholder andSecureTextEntry:(BOOL)_secured{
    self = [self init];
    if (self) {
        _title = title;
        _textValue = value;
        _placeholder = placeholder;
        self.secureTextEntry=_secured;
    }
    return self;
}

在QEntryElement.h和m文件中。