我从Appcelerator的文档(http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.AlertDialog-property-previewContext)中找到了以下示例代码:
var dialog = Ti.UI.createAlertDialog({
title: 'Enter text',
style: Ti.UI.iOS.AlertDialogStyle.PLAIN_TEXT_INPUT,
buttonNames: ['OK']
});
dialog.addEventListener('click', function(e){
Ti.API.info('e.text: ' + e.text);
});
dialog.show();
问题是我需要为输入文本设置默认值,但文档只显示设置占位符的可能性,但不是默认值。
答案 0 :(得分:1)
如果您要为Android构建,可以使用androidView
属性添加包含View
的自定义TextField
。然后,您可以将value
的{{1}}设置为默认值。
对于iOS,我不知道如何实现您的目标,而不是制作自己的警报对话框。也许这里有一些模块。
答案 1 :(得分:1)
对于iOS,实际上你不能
您可以看到int r = foo(); // returns an int
r -= r > 0; // same as `if(r > 0) r--;`
没有TiUIAlertDialogProxy.m
值
TextField
但您可以手动创建,添加此代码
if ( (style == UIAlertViewStylePlainTextInput) || (style == UIAlertViewStyleSecureTextInput) ) {
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
textField.secureTextEntry = (style == UIAlertViewStyleSecureTextInput);
textField.placeholder = [TiUtils stringValue:[self valueForKey:@"placeholder"]] ?: @"";
textField.keyboardType = [TiUtils intValue:[self valueForKey:@"keyboardType"] def:UIKeyboardTypeDefault];
textField.returnKeyType = [TiUtils intValue:[self valueForKey:@"returnKeyType"] def:UIReturnKeyDefault];
textField.keyboardAppearance = [TiUtils intValue:[self valueForKey:@"keyboardAppearance"] def:UIKeyboardAppearanceDefault];
}];
}
然后传递textField.text = [TiUtils stringValue:[self valueForKey:@"text"]] ?: @"";
属性
text
答案 2 :(得分:1)
您可以使用Titanium SDK 6.1.0及更高版本将value
,loginValue
和passwordValue
属性设置为警报对话框!