如何解决iOS 上的 Delphi 10.4 InputQuery 导致错误“不支持的 InputQuery 字段”
使用下面的代码显示一个包含两个字段的 InputQuery,在 Windows 和 Android 中一切正常。相同的代码适用于 ios 上的一个字段,但不适用于产生上述错误消息的两个字段。关于问题是什么的任何想法。我看过这个 https://quality.embarcadero.com/browse/RSP-27777 报告,它似乎在 ios 上显示了两个输入字段,但有一个标题问题。还有取消 Async InputQuery doesn't handle Cancel button 的问题,但与此消息无关。提前致谢。
procedure TFrmMain.user_level_lbClick(Sender: TObject);
var
code_now,old_user_type: integer;
begin
code_now := 12;
TDialogServiceAsync.InputQuery('Please enter code to change user level password',['Code','Level'],['000','1'],procedure(const AResult: TModalResult; const AValues: array of string)
begin
if Aresult = mrOk then
if Strtoint(Avalues[0]) = code_now
then begin
old_user_type := user_type;
user_type := strtoint( Avalues[1]);
showmessage('You have changed your level from ' + inttostr(old_user_type) +
' to ' +inttostr(user_type));
end
else showmessage('Wrong code'); // go to setup for debug
if Aresult = mrCancel then ;
end);
end;
解决方法
在 iOS 上,InputQuery 在“幕后”使用 UIAlertView,这意味着它在可用的输入方面受到限制。请参考:
https://developer.apple.com/documentation/uikit/uialertviewstyle?language=objc
底线:您需要提交功能请求以支持您想要的功能(这意味着将使用 UIAlertView 以外的其他内容),或以其他方式实现它
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。