我有一个 UITextField ,当显示键盘时,它们的顶部是一个带有“done ”按钮的栏。
这个完成按钮完全没用,首先它复制了键盘中已经存在的完成按钮,其次它没有触发事件 ShouldReturn 使得很难用它捕获任何操作。
我在我的 iphone 5 + ios 9 上也看到了这个按钮,但我在我的 ipad pro + ios 10 上没有看到它
我正在使用 delphi,我不知道这是否重要(我的 iphone 5 上不是用 delphi 制作的其他应用程序没有这个“完成”栏所以也许是的)
Best Answer-推荐答案 strong>
好的,我发现了问题。当我看到法国 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/
|