当前位置: 首页 > 面试题库 >

使用InputAccessoryView swift在键盘顶部添加视图

柳涵映
2023-03-14
问题内容

我试图将uiview始终添加到键盘顶部。我首先使用KeyboardWillShow /
Hide做到了这一点,但是它并没有涵盖所有情况,因此我尝试使用inputAccesoryView。这是我尝试的:

private var accessoryView = UIView(frame: CGRectZero)

class ViewController : UIViewController {

var myView: customUIView

override var inputAccessoryView: UIView {
    return accessoryView
}

override func canBecomeFirstResponder() -> Bool {
    return true
}

override func viewDidLoad() {
   super.viewDidLoad()
   accessoryView = myView
}
}

我收到以下错误:

由于未捕获的异常“
UIViewControllerHierarchyInconsistencyency”而终止应用html" target="_blank">程序,原因:“子视图控制器:UICompatibilityInputViewController应该具有父视图控制器:MyViewController,但请求的父对象是:UIInputWindowController:”

任何帮助将不胜感激!


问题答案:

为了使视图停留在键盘上方,代码本身非常简单。您发布的代码不正确,请尝试以下操作(请注意,您必须连接textFieldUITextField情节提要中的):

@IBOutlet weak var textField: UITextField!

override func viewDidLoad() {
    super.viewDidLoad()

    let customView = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: 44))
    customView.backgroundColor = UIColor.red
    textField.inputAccessoryView = customView
}


 类似资料:
  • 我有这样的布局: 在开始时,视图是一个半透明视图,它位于布局中所有内容的顶部。当我按下按钮时,我想将FrameLayout放在视图的顶部。我尝试了方法和,之后我调用了,但它们对我都不起作用。我觉得跟海拔属性有关系。 如有任何帮助,我们将不胜感激。谢谢你!

  • 问题内容: 假设您有一个文件 并希望添加一些标头信息,例如 如何添加此“标题”?手动执行似乎很简单。点击几回车,复制/粘贴或写信息,就可以了。当然,在R中,我可以读入,创建,添加标题信息,然后。 我想知道是否还有另一种从“顶部”附加文件的方法。也欢迎使用其他解决方案(来自c ++或Java …)(我很好奇其他语言如何解决此问题)。 问题答案: 在R中,不需要使用额外的文件。您可以这样做: 但是,使

  • 我想制作我的数据框的性别列的条形图(有许多行),我想在条形图顶部显示0和1的计数。我的数据框是这样的。 此外,我想将0更改为女性,1更改为男性,如下图所示。我在这个网站上看到了类似的问题,但我无法理解其中的逻辑。有人能帮我吗? 我用来制作此图的代码:

  • 我有个活动。此活动的布局有一个ViewPager。这个viewpager有五个片段按代码。我在屏幕底部有五个图标。它们位于Tablayout中。 说到要点,当我打开键盘的时候,键盘把台面抬到上面?怎么解决呢? 我尝试了以下几种方式: > Android:Windowsoftinputmode=“AdjustPanAdjustreSize” Android:isScrollContainer=“fa

  • 问题内容: 我有一个应用程序,该应用程序在视图的下半部分具有文本字段。这意味着当我输入文本字段时,键盘将覆盖文本字段。 如何在键入时向上移动视图,以便可以看到正在键入的内容,然后在键盘消失时将其向下移动到原始位置? 我到处都看过,但是所有解决方案似乎都在Obj-C中,我还不能完全转换。 任何帮助将不胜感激。 问题答案: 这是一个解决方案,无需处理从一个textField到另一个的切换: 要解决此问

  • 我在顶部菜单中添加了组件,有一个按钮,这是容器的主要组件。但是单击任何一个按钮或其他组件都没有效果。我怎么才能让它起作用?此外,我已经浏览了一个在顶部菜单中的南方组件的博客。我已经将cn1更新到8.1,它给出了“您的项目库是最新的”,但我仍然不能使用它(setComponentToSideMenuSouth)。我想让组件保持在侧菜单的顶部,那么setComponentToSideMenuNorth