プログラムで必要な場所にactivityIndicatorを配置したいのですが、方法がわかりません。
画面の中央に配置する方法を知っています。
activityIndicator.center = self.view.center
しかし、私はこのようなものが欲しい:
activityIndicator.activityIndicator(frame: CGRect(x: 100, y: 100, width: 100, height: 50))
しかし、私はそれを機能させるようには思えません。
基本的に、これは数行のコードで実行できます。
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()
}
スウィフト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()
次のように宣言できます。
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()
}
}
このコードは私にとってはうまくいきます。幸運を!