ios - 在另一个类中调用函数(包含变量)

标签 ios swift function class uiview

我有一个相对简单的问题。我创建了一个函数 - 涵盖了从 API 检索数据的内容。我需要在几个不同的类中调用一个函数(不想重复)。我正在调用该函数,但没有显示任何内容。如果这个函数是我想调用它的类的一部分,它就可以正常工作。问题出在哪里,请告诉我。 (我认为在 UIView 中...)?谢谢。

我的功能:

func loadScreen() {

        var loadView:UIView!

        loadView = UIView(frame: self.view.frame)
        loadView!.backgroundColor = UIColor.black
        loadView!.alpha = 1.0

        let actView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
        actView.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
        actView.center = CGPoint(x: self.view.bounds.size.width / 2 , y: self.view.bounds.size.height / 2 )
        actView.startAnimating()

        loadView?.addSubview(actView)
        self.view.addSubview(loadView!)
    }

我在viewDidLoad()中调用了另一个类中的函数,但是正如我所说,没有任何显示。

最佳答案

首先像这样创建一个单例类

Singleton class

  import UIKit
  import Foundation

class Singleton: NSObject
{
    static let sharedInstance = Singleton()

    override init()
    {
        super.init()
    }


    func placeBlockerView(target : UIViewController)
    {
        var loadView:UIView!
        loadView = UIView(frame: target.view.frame)
        loadView!.backgroundColor = UIColor.black
        loadView!.alpha = 1.0

        let actView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
        actView.frame = CGRect(x: 0, y: 0, width: 20, height: 20)
        actView.center = CGPoint(x: target.view.bounds.size.width / 2 , y: target.view.bounds.size.height / 2 )
        actView.startAnimating()

        loadView?.addSubview(actView)
        target.view.addSubview(loadView!)
    }
}

然后根据需要从任何地方使用它

像这样

Singleton.sharedInstance.placeBlockerView(target: self)

上面这一行会将您创建的 UIView 添加到 View Controller 的 View 中。

如果它不起作用,请告诉我。

关于ios - 在另一个类中调用函数(包含变量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41278228/

相关文章:

ios - 第一次触摸后触摸次数显示为1

ios - 缩小 UINavigationBar 大标题文本的大小

ios - 通过 RTMP 从 Wowza 到 iOS 进行直播

ios - 无法将 PNG 图像加载为 UIImage

php - MySQL添加函数计算变量

python - 如何在不使用断言的情况下指定函数输入和输出的类型?

c - 我不小心用条件句(如果)更改了变量?

ios - 读取未知数量的传入字节

ios - 在 firebase Root 上的 IndexOn 查询整个数据库 swift 3

ios - 如何从 CoreLocations geocodeAddressString 获取更多结果?