2014-11-02 152 views
0

我是iOS編程新手,仍然不知道如何正確處理基本的東西,所以我希望有人有良好的習慣分享。根據孩子的大小調整父母UIView

我爲用戶創建了自定義鍵盤來回答問題。 這是一個包含一些UIButton的UIView。

enter image description here

怎樣一箇中心全鍵盤?

我知道我可以通過將每個鍵的寬度相加來計算鍵盤的寬度,但對於這樣一個簡單的操作來說這似乎相當複雜。

這裏是我的代碼(在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) 
} 

回答

0

移動keyboardContainer的中心,所有按鈕都會隨之移動。

+0

我用我創建keyboardContainer的代碼更新了我的問題,它已經居中。 – Skoua 2014-11-02 15:47:54

+0

如果只是您擔心的黑色列,那是因爲您假設部分代碼爲8列,其他部分爲7。 – 2014-11-02 16:47:25