OStack程序员社区-中国程序员成长平台

标题: IOS如何隐藏键盘顶部的顶栏(带完成按钮)? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:46
标题: IOS如何隐藏键盘顶部的顶栏(带完成按钮)?

我有一个 UITextField,当显示键盘时,它们的顶部是一个带有“done”按钮的栏。

enter image description here

这个完成按钮完全没用,首先它复制了键盘中已经存在的完成按钮,其次它没有触发事件 ShouldReturn 使得很难用它捕获任何操作。

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

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



Best Answer-推荐答案


好的,我发现了问题。当我看到法国 iPhone 上的按钮(完成)标题没有改变时,我很怀疑。苹果不会犯这么可怕的错误,但这通常是 emb 团队可以做的 是的,这个栏是由 delphi 制作的!不要问我为什么他们默认会做出如此可怕的想法,但他们确实做到了......它没有显示在 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;

真的很棒

因此您可以通过以下方式禁用工具栏:

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

默认启用这个无用且丑陋的工具栏是完全白痴

关于IOS如何隐藏键盘顶部的顶栏(带完成按钮)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692918/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4