web-dev-qa-db-ja.com

プログラムでactivityIndi​​catorを配置するにはどうすればよいですか?

プログラムで必要な場所にactivityIndi​​catorを配置したいのですが、方法がわかりません。

画面の中央に配置する方法を知っています。

activityIndicator.center = self.view.center

しかし、私はこのようなものが欲しい:

activityIndicator.activityIndicator(frame: CGRect(x: 100, y: 100, width: 100, height: 50))

しかし、私はそれを機能させるようには思えません。

8
user9123

基本的に、これは数行のコードで実行できます。

 func showActivityIndicatory() {
    var activityView = UIActivityIndicatorView(style: .whiteLarge)
    activityView.center = self.view.center
    self.view.addSubview(activityView)
    activityView.startAnimating()
}

ActivityViewをさらに制御する必要がある場合は、containerビューのOriginを設定して、画面上の任意の場所にactivityindicatorを配置してください。

func showActivityIndicatory() {
    let container: UIView = UIView()
    container.frame = CGRect(x: 0, y: 0, width: 80, height: 80) // Set X and Y whatever you want
    container.backgroundColor = .clear

    let activityView = UIActivityIndicatorView(style: .whiteLarge)
    activityView.center = self.view.center

    container.addSubview(activityView)
    self.view.addSubview(container)
    activityView.startAnimating()
}
11
Usman Javed

スウィフト5:

let activityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.gray)

    // Place the activity indicator on the center of your current screen
            myActivityIndicator.center = view.center

    // In most cases this will be set to true, so the indicator hides when it stops spinning
            myActivityIndicator.hidesWhenStopped = true

    // Start the activity indicator and place it onto your view
            myActivityIndicator.startAnimating()
            view.addSubview(myActivityIndicator)

    // Do something here, for example fetch the data from API


    // Finally after the job above is done, stop the activity indicator
            myActivityIndicator.stopAnimating()
1
Matic

次のように宣言できます。

var activityView: UIActivityIndicatorView?

そして、クラスで、インジケーターを表示または非表示にする次のメソッドを作成します。

func showActivityIndicator() {
    activityView = UIActivityIndicatorView(style: .whiteLarge)
    activityView?.center = self.view.center
    self.view.addSubview(activityView!)
    activityView?.startAnimating()
}

func hideActivityIndicator(){
    if (activityView != nil){
        activityView?.stopAnimating()
    }
}

このコードは私にとってはうまくいきます。幸運を!

0
jframosg