在我的故事板中,我有一个MapView
伸展到我的屏幕边框。但是有可能显示键盘,然后我更新约束,地图高度缩小。
这是我负责的方法:
func keyboardWillChangeFrame(notification: NSNotification) {
let endFrame = (notification.userInfo![UIKeyboardFrameEndUserInfoKey] as! NSValue).CGRectValue()
if(isKeyboardShown == true)
{
bottomConstraint.constant = CGRectGetHeight(view.bounds) - endFrame.origin.y+49
self.view.layoutIfNeeded()
isKeyboardShown = false
} else {
bottomConstraint.constant = CGRectGetHeight(view.bounds) - endFrame.origin.y
self.view.layoutIfNeeded()
isKeyboardShown = true
}
}
工作正常。现在我想添加始终以地图为中心的UIImageView
,无论键盘是否可见。我认为将图像置于地图的完美中心是足够的。
到目前为止看起来像这样:
我设法以某种方式添加Y
轴上的约束:
但是X
呢?
我尝试在此处添加:
但align
选项显示为灰色...
如何添加约束以使图像始终居中,无论地图如何缩小?
答案 0 :(得分:1)
尝试按Ctrl +从图像视图拖动到地图,然后点击Center Horizontally
。
您的Top Space to: Top Layout...
约束和Align Center Y to: Map View
约束也可能存在冲突。听起来你只想要中心Y约束,因为当你的地图增长/缩小你的图像时,如果它在地图上居中,那么它永远不会从顶部变为192.