You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 26自定义UIInputViewController键盘顶部空白去除方法咨询

自定义UIInputViewController键盘顶部空白问题

问题描述

开发基于UIInputViewController的自定义键盘时,已将mainStack的顶部约束绑定到view.topAnchor,且移除了安全区域设置,但第一排按键上方仍存在空白,系统键盘无此问题。使用的约束代码如下:

NSLayoutConstraint.activate([
    mainStack.topAnchor.constraint(equalTo: view.topAnchor),
    mainStack.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 4),
    mainStack.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -4),
    mainStack.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -4)
])

解决方案

直接针对UIInputViewController的默认布局特性调整即可:

  • 重置额外安全区域内边距:UIInputViewController默认会给view添加顶部额外内边距,在viewDidLoad或viewWillAppear中添加代码:

    self.additionalSafeAreaInsets = .zero
    
  • 检查StackView的布局设置:确认mainStack没有默认内边距或意外间距,添加:

    mainStack.layoutMargins = .zero
    mainStack.isLayoutMarginsRelativeArrangement = false
    
  • 强制关闭安全区域内边距继承:将控制器view的insetsLayoutMarginsFromSafeArea设为false:

    view.insetsLayoutMarginsFromSafeArea = false
    

另外,也可以排查是否有其他高优先级约束覆盖了当前顶部约束,或是storyboard中意外设置了view的顶部内边距。

自定义键盘顶部空白

内容的提问来源于stack exchange,提问作者saqlain jamil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 20:33:14