如果视图的大小从48
更改为72
,从72
更改为48
,那么如何相应地上下移动滚动视图?
[ ] a view
----- keyboard upper edge
现在视图的大小从48变为72.其中一部分(24点)隐藏在键盘后面。
[ ] a view
----- keyboard upper edge
[////] a view's part that got hidden.
Q1:如何向上移动scrollView以便键盘不会遮挡放大的视图?
情况B: 视图的高度为72。
[ ] a view
[ ]
------- keyboard upper edge
视图再次改变其大小。这个时间从72到48。
[ ] a view
unwanted empty space
------ keyboard upper edge
Q2:如何将滚动视图向下移动到其位置,因此没有不需要的空白区域?
答案 0 :(得分:0)
从界面构建器拖动为 IBOulet 更改窗体48到72的视图的高度约束命名 viewHeightCon 还拖动 scrollview的底部约束将其命名为 scrollViewBottomCon
func changeTo48OR72 (value: Int)
{
// adjust view height here
self.viewHeightCon.constant = value
if(value == 72)
{
// make scrollview up sum of keyboard and 24 [72-48]
self.scrollViewBottomCon.constant = -1 * (keyboardHeight + 24)
}
else if(value == 48)
{
// restore scrollview directly up keyboard
self.scrollViewBottomCon.constant = -1* keyboardHeight
}
// animate height change
UIView.animate(withDuration: 0.2, animations: {
self.view.layoutIfNeeded()
})
}