ios - UILabel 位置与预期不同

标签 ios iphone swift ios8 uilabel

我开始涉足 swift 并遇到了一个奇怪的行为,想知道是否有人可以阐明原因。我试图将 UILabel 添加到 UIView 并将其定位在 UIView 的中心。从理论上讲,这可以通过以下方式实现。

    self.titleContainer = UIView(frame: CGRect(x: self.view.bounds.origin.x, y: self.view.bounds.origin.y
        + 20.0, width: self.view.bounds.width, height: (self.view.bounds.height * cSixth) - 20.0))
    self.titleContainer.backgroundColor = UIColor.blackColor()
    self.view.addSubview(titleContainer)

    self.titleLabel = UILabel()
    self.titleLabel.text = "Naughts and Crosses"
    self.titleLabel.textColor = UIColor.whiteColor()
    self.titleLabel.font = UIFont(name: "Helvetica", size: 10)
    self.titleLabel.sizeToFit()
    self.titleLabel.center = titleContainer.center
    titleContainer.addSubview(self.titleLabel)

然而,这似乎并没有考虑到最高利润率。然而,下一个代码块起作用并将标签定位在中心。

    self.titleContainer = UIView(frame: CGRect(x: self.view.bounds.origin.x, y: self.view.bounds.origin.y
                + 20.0, width: self.view.bounds.width, height: (self.view.bounds.height * cSixth) - 20.0))
    self.titleContainer.backgroundColor = UIColor.blackColor()
    self.view.addSubview(titleContainer)

    self.titleLabel = UILabel()
    self.titleLabel.text = "Naughts and Crosses"
    self.titleLabel.textColor = UIColor.whiteColor()
    self.titleLabel.font = UIFont(name: "Helvetica", size: 10)
    self.titleLabel.sizeToFit()
    self.titleLabel.center = CGPointMake(titleContainer.bounds.midX, titleContainer.bounds.midY)
    titleContainer.addSubview(self.titleLabel)

有什么想法吗?

谢谢 亚力克

最佳答案

我认为你在混合坐标系。 self.titleLabel.centertitleContainer 中的一个点,titleContainer.center[titleContainer superview] 中的一个点.

差异在 View Programming Guide 中进行了解释 -> View 和窗口架构 -> View 几何和坐标系 -> 框架、边界和中心属性的关系.

关于ios - UILabel 位置与预期不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973409/

相关文章:

ios - 屏幕出现时数据需要几秒钟加载

ios - 保持按索引更新的有序字典值数组

ios - cocos2d v3 中带有来自 URL 的图像的 CCSprite

iphone - 如何以编程方式从 iPhone 地址簿中获取地址占位符文本?

iphone - NSURLConnection 未启动

ios - 不能从另一个类调用对象

ios - Storyboard无法加载

iphone - C/C++/Obj-C 实时算法从人声输入中确定音符(不是音高)

ios - 从 Swift 指定 Objective-C 闭包变量名称

ios - 联系人选择器(_ :didSelectContactProperties:) bug?