Ios 根据子视图的大小调整父视图的大小

Ios 根据子视图的大小调整父视图的大小,ios,uiview,swift,centering,Ios,Uiview,Swift,Centering,我是iOS编程新手,仍然不知道如何正确处理像这样的基本问题,所以我希望有人能分享一些好的做法 我为用户创建了一个自定义键盘来回答问题。 这是一个包含一些UIButton的UIView 如何使整个键盘居中 我知道我可以通过加上每个键的宽度来计算键盘的宽度,但对于这样一个简单的动作来说,这似乎相当复杂 这是我的代码(Swift),谢谢 keyboardContainer = UIView(frame: CGRectMake(0, 0, self.frame.width, 200)) keyboar

我是iOS编程新手,仍然不知道如何正确处理像这样的基本问题,所以我希望有人能分享一些好的做法

我为用户创建了一个自定义键盘来回答问题。 这是一个包含一些UIButton的UIView

如何使整个键盘居中

我知道我可以通过加上每个键的宽度来计算键盘的宽度,但对于这样一个简单的动作来说,这似乎相当复杂

这是我的代码(Swift),谢谢

keyboardContainer = UIView(frame: CGRectMake(0, 0, self.frame.width, 200))
keyboardContainer!.center = CGPoint(x: keyboardContainer!.frame.width / 2, y: self.frame.height - keyboardContainer!.frame.height / 2)
self.addSubview(keyboardContainer!)

let gap = Int(self.frame.width) / 8

for i in 0..<keyboardLetters!.count {
    let posX = Int(i % 7) * gap + 22
    let posY = Int(i / 7) * gap + 25

    let key = Key(frame: CGRectMake(0, 0, 44, 44))
    key.letter = keyboardLetters![i]
    key.tag = i
    key.center = CGPoint(x: posX, y: posY)
    keyboardContainer!.addSubview(key)

    key.addTarget(self, action: "onKeyboardTap:", forControlEvents: .TouchUpInside) 
}
keyboardContainer=UIView(帧:CGRectMake(0,0,self.frame.width,200))
键盘容器!。中心=CGPoint(x:keyboardContainer!.frame.width/2,y:self.frame.height-keyboardContainer!.frame.height/2)
self.addSubview(键盘容器!)
让间隙=Int(自帧宽度)/8

对于0中的我,移动
keyboardContainer
的中心,所有按钮都会随之移动。

我用创建keyboardContainer的代码更新了我的问题,它已经居中了。如果你担心的只是黑色列,那是因为你假设代码部分有8列,其他部分只有7列。