IOS如何隐藏键盘顶部的顶栏(带完成按钮)?

时间:2017-06-22 07:31:42

标签: ios delphi uitextfield firemonkey uikeyboard

我有UITextField,当键盘显示时,它们位于顶部,带有“done”按钮。

enter image description here

这个完成按钮完全没用,首先它复制键盘中已经存在的完成按钮,然后它不会激活事件ShouldReturn,使其难以捕获任何动作。

我也在iphone 5 + ios 9上看到这个按钮,但我没有在我的ipad pro + ios 10上看到它

我正在使用delphi,我不知道是否有问题(我的iphone 5上的其他应用程序没有用delphi制作,没有这个“完成”栏,所以也许是)

1 个答案:

答案 0 :(得分:2)

好的,我发现了问题。当我看到按钮(已完成)的标题在法语iphone上没有改变时,我很怀疑。苹果不会犯这样可怕的错误,但它通常可以做什么呢?:是的,这个酒吧是由德尔福制作的!不要问我为什么他们在默认情况下做了这么可怕的想法,但是他们确实......并且它没有在ipad中显示,因为:

procedure TCocoaVirtualKeyboardService.ApplicationEventHandler(const Sender: TObject; const M: TMessage);
begin
  if (M is TApplicationEventMessage) and ((M as TApplicationEventMessage).Value.Event = TApplicationEvent.FinishedLaunching) then
  begin
    FToolbarEnabled := not IsPad;
    FHideButtonVisible := FToolbarEnabled;
  end;
end;

非常棒的nawak :(

所以您可以通过执行以下操作来禁用工具栏:

if TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardToolbarService, aVirtualKeyboardToolbarService) then aVirtualKeyboardToolbarService.SetToolbarEnabled(False);

完全白痴使默认情况下启用这个无用且丑陋的工具栏:(