Ios 自定义键盘的约束问题
在自定义键盘中向视图添加约束时遇到问题。我在这里简化了我的问题,只需注意我确实计划添加更多的子视图,这样就不用担心我的键盘没有“下一个键盘”按钮或类似的东西。我想要的是确保黑色正方形始终位于键盘视图的中心,视图如下所示: 在没有限制的情况下,我在iPhone4s-5s上实现了这一点: 这正是我想要的。唯一的问题是,在6号公路上,我发现: 这显然偏离了中心,我们不能这样做。因此,我在中心正方形上添加了一些约束条件(宽度和高度=90,并与superview的中心x和y对齐),但我在iPhone4s上得到了以下结果:Ios 自定义键盘的约束问题,ios,swift,keyboard,nib,Ios,Swift,Keyboard,Nib,在自定义键盘中向视图添加约束时遇到问题。我在这里简化了我的问题,只需注意我确实计划添加更多的子视图,这样就不用担心我的键盘没有“下一个键盘”按钮或类似的东西。我想要的是确保黑色正方形始终位于键盘视图的中心,视图如下所示: 在没有限制的情况下,我在iPhone4s-5s上实现了这一点: 这正是我想要的。唯一的问题是,在6号公路上,我发现: 这显然偏离了中心,我们不能这样做。因此,我在中心正方形上添加了一些约束条件(宽度和高度=90,并与superview的中心x和y对齐),但我在iPhone4s上
我在每个模拟器中都得到了类似的结果。我尝试过在从笔尖加载视图时调整视图的大小,但没有骰子。我怎样才能使那个正方形居中呢?我在玩弄这个,找到了解决办法。它与在视图控制器中加载nib的时间有关。我的代码如下所示(解决方案只有一行,用注释标记) 据我所知,self.view自动设置为正确的大小,但您可能添加的子视图没有相同的豪华,所以只需设置框架。老实说,我可能一开始就应该意识到这一点,但现在你知道了
var kView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
loadInterface()
}
func loadInterface() {
var kNib = UINib(nibName: "TrapType", bundle: nil)
kView = kNib.instantiateWithOwner(self, options: nil)[0] as! UIView
let screenSize: CGRect = UIScreen.mainScreen().bounds
//Below is the line that solved the problem.
kView.frame = view.frame
view.addSubview(kView)
view.backgroundColor = kView.backgroundColor
}