2016-12-22 22 views
0

私は比較的簡単な質問があります。 APIからデータを取得するためにコンテンツをカバーする関数を作成しました。私はいくつかの異なるクラス(重複したくない)で関数を呼び出す必要があります。私はその関数を呼び出していますが、何も表示されていません。この関数が私が呼びたいクラスの一部であれば、正しく機能します。問題がどこにあるのか教えてください。 (私はUIViewで考える...)?ありがとうございました。別のクラスの関数(変数を含む)を呼び出す

My機能:私が言ったように私はのviewDidLoad(に別のクラス内の関数を呼び出す

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!) 
    } 

)、しかし、何も表示されません。

答えて

2

まずこの

Singleton.sharedInstance.placeBlockerView(target: self) 

このよう

を必要に応じて、それはあなたがほしいと思うところから、それを使用した後、この

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!) 
    } 
} 

のようにシングルトンクラスを作成します上記のliあなたが作成したUIViewをビューコントローラのビューに追加します。

動作しない場合は教えてください。

+0

これは動作します;-)。ありがとうございました – Alien

0

上記に追加する代わりに、その方法のreturn the UIViewに常に連絡し、サブクラスUIViewControllerには次のようにしてください。

func viewDidLoad() { 
    let loadView = loadScreen() 
    self.view.addSubView() 
} 
関連する問題