ios - 文本显示不正确。该功能的文本应放置在屏幕中央

标签 ios swift

我试图在一个人注册时显示文本。下一个屏幕显示一个带有文本“Checking Credentials......”的旋转微调器,但是它的功能并未在屏幕中间正确显示文本

func rotatingspinner()
    {
        processingView = UIView()

        processingView.frame = self.view.bounds

        processingView.backgroundColor = UIColor(red: 0.0/255.0, green: 113.0/255.0 , blue: 138.0/255.0, alpha: 0.97)

        processLabel = UILabel()



        let device = Device()


        if device == .iPhone6sPlus {
            processLabel.frame = CGRectMake(145,410,160,30)
        }
        if device == .iPhone6s {
            processLabel.frame = CGRectMake(125,375,160,30)
        }
        if device == .iPhone6Plus {
            processLabel.frame = CGRectMake(145,410,160,30)
        }
        if device == .iPhone6 {
            processLabel.frame = CGRectMake(125,375,160,30)
        }

        if device == .iPhone5s {
            processLabel.frame = CGRectMake(100,325,160,20)
        }
        if device == .iPhone5 {
            processLabel.frame = CGRectMake(100,325,160,20)
        }
        if device == .iPhone4s {
            processLabel.frame = CGRectMake(100,275,160,20)
        }
        if device == .iPhone4 {
            processLabel.frame = CGRectMake(100,275,160,20)
        }

        processLabel.text = "Checking Credentials......"
        processLabel.font = UIFont(name: "Arial", size: 15.0)
        processLabel.textColor = UIColor.whiteColor()
        processingView.addSubview(processLabel)
        self.processingView.addSubview(activityIndicator)
        activityIndicator.center = self.processingView.center
        activityIndicator.startAnimating()
        self.view.addSubview(processingView)

    }

如何将 screensize.window 设置为 frame 并设置 frame 以将文本保持在中间

最佳答案

正如尼克所说,你应该开始学习自动布局。对于您的代码,您实际上并不需要拥有所有这些。您需要计算标签的框架以确保其位于中心。您可以通过以下方式做到这一点

let labelHeight = CGFloat(30)
let labelWidth = CGFloat(160)
let labelX = (processingView.frame.size.width - labelHeight)/2
let labelY = (processingView.frame.size.height - labelWidth)/2
processLabel.frame = CGRectMake(labelX, labelY, labelWidth, labelHeight)

关于ios - 文本显示不正确。该功能的文本应放置在屏幕中央,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35144037/

相关文章:

html - Swift:从存储在 Main Bundle 中的网页访问 Documents Dictionary 中的文件

ios - Xcode 10.2 支持最新的 NativeScript?

ios - 如何在异步调用中退出循环?

ios - #define 指令上的这个错误是什么?

swift - Swift 3 中的 dispatch_once 去哪儿了?

ios - 使用 retryWhen 根据 http 错误代码更新 token

ios - UIImageView 不更新图像

ios - Swift 2.1 DatePicker NSDate 错误 Nil 展开可选值?

ios - NSDateFormatter 根据 iOS 版本返回不同的结果

ios - IBM Mobilefirst 7.0 - 我们可以将 Estimote Ibeacons 与 IBM MobileFirst 集成吗