【问题标题】:Custom Keyboard Height and add custom view over custom keyboard in ios自定义键盘高度并在 ios 中的自定义键盘上添加自定义视图
【发布时间】:2017-04-20 18:17:20
【问题描述】:

我将为我的应用程序制作一个自定义键盘,并实现自定义键盘扩展以在输入级别增强我的应用程序功能,
所以我想在我的应用程序的自定义键盘上添加 "custom view"。当我当时输入一些单词时,在 gBoard 等自定义键盘上添加自定义视图,那么如何添加自定义视图并将键盘的大小增加到 216 以上。

【问题讨论】:

  • 我想我没有正确回答您的问题。是这样吗?请看答案和评论。

标签: ios objective-c ios9 ios10 ios-keyboard-extension


【解决方案1】:

在自定义键盘上添加自定义视图的方式与在应用中执行此操作的方式相同。要将自定义键盘的高度增加到 216 以上,您需要在 KeyboardViewController 中为您的 inputView 添加高度约束。可以通过以下方式完成:

let constraintForHeight:NSLayoutConstraint = NSLayoutConstraint(item: self.inputView, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 0, constant: height)
constraintForHeight.priority = UILayoutPriorityDefaultHigh

self.inputView.addConstraint(constraintForHeight)

请随时提出修改建议以使其变得更好。如果实施有任何问题,请告诉我

【讨论】:

    【解决方案2】:

    你应该把这个高度约束放到 viewWillAppear 中

     CGFloat _expandedHeight = 500;  
     NSLayoutConstraint *_heightConstraint = 
    
     [NSLayoutConstraint constraintWithItem: self.view 
                                    attribute: NSLayoutAttributeHeight 
                                   relatedBy: NSLayoutRelationEqual 
                                      toItem: nil 
                                   attribute: NSLayoutAttributeNotAnAttribute 
                                   multiplier: 0.0 
                                      constant: _expandedHeight];
    [self.view addConstraint: _heightConstraint];
    

    注意

    在 iOS 8.0 中,您可以在主视图最初在屏幕上绘制后随时调整自定义键盘的高度。

    【讨论】:

    • 我正在实现自定义键盘扩展,我并没有仅在我的应用程序中实现。那么您能否提供与它相关的输入。请检查我的问题我更新了它。
    • 我知道,我的意思是你需要在你的自定义键盘的 UIInputViewController 中实现 viewWillAppear,self.view 实际上就是你的自定义键盘视图
    • 查看此链接和指南:
    • 您可以将约束保存在 UIInputViewController 中的属性上,并在更改约束常量时使用它来放大视图
    猜你喜欢
    • 2017-01-30
    • 2019-08-23
    • 2020-12-04
    • 2012-09-12
    • 2016-05-26
    • 2019-04-09
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多