【发布时间】:2016-04-25 05:35:21
【问题描述】:
【问题讨论】:
标签: ios objective-c user-interface keyboard
【问题讨论】:
标签: ios objective-c user-interface keyboard
我敢打赌,我知道 Instagram 是如何做到的。
当您首次启动 Instagram 时,它会通过键盘显示用户名和密码屏幕(您的第二张屏幕截图)。由于它一启动就会显示键盘,我敢打赌它会重新定位登录屏幕,然后将键盘高度保存在NSUserDefault 中。您可能可以通过安装不同高度的不同键盘来测试这一点。
【讨论】:
Instagram 必须使用自定义键盘,请在此处查看如何实现您自己的 (https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Keyboard.html)。它的高度是在文本字段视图之后计算的。
要调整自定义键盘的高度,请更改其主视图的高度约束。以下代码行显示了如何定义和添加这样的约束:
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];
【讨论】: