[iphone] iPhone 화면 중간에 활동 표시기를 표시하는 방법은 무엇입니까?

이미지를 그릴 때 활동 표시기를 표시하려고합니다. 누구든지 우리를 도울 수 있습니까?



답변

UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc]
        initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    activityView.center=self.view.center;
    [activityView startAnimating];
    [self.view addSubview:activityView];


답변

Swift를 사용하는 경우 이것이 방법입니다.

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

self.view.addSubview(activityView)


답변

Swift 3 용 코드 업데이트

여기에 이미지 설명 입력

신속한 코드

import UIKit
class ViewController: UIViewController {

    let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge)

    @IBOutlet weak var myBlueSubview: UIView!

    @IBAction func showButtonTapped(sender: UIButton) {
        activityIndicator.startAnimating()
    }

    @IBAction func hideButtonTapped(sender: UIButton) {
        activityIndicator.stopAnimating()
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // set up activity indicator
        activityIndicator.center = CGPoint(x: myBlueSubview.bounds.size.width/2, y: myBlueSubview.bounds.size.height/2)
        activityIndicator.color = UIColor.yellow
        myBlueSubview.addSubview(activityIndicator)
    }
}

메모

  • 활동 표시기를 루트가 view아닌 루트에 하위보기로 추가하여 화면 중앙에 활동 표시기를 중앙에 배치 할 수 있습니다 myBlueSubview.

    activityIndicator.center =  CGPoint(x: self.view.bounds.size.width/2, y: self.view.bounds.size.height/2)
    self.view.addSubview(activityIndicator)
    
  • UIActivityIndicatorViewInterface Builder에서를 만들 수도 있습니다 . Activity Indicator View 를 스토리 보드로 드래그 하고 속성을 설정하기 만하면 됩니다. 중지시 숨기기를 선택 해야합니다 . 콘센트를 사용하여 startAnimating()stopAnimating(). 이 자습서를 참조하십시오 .

여기에 이미지 설명 입력

  • LargeWhite스타일 의 기본 색상 은 흰색입니다. 따라서 흰색 배경이 보이지 않으면 색상을 검정색 또는 원하는 다른 색상으로 변경하십시오.

    activityIndicator.color = UIColor.black
    
  • 일반적인 사용 사례는 백그라운드 작업이 실행되는 동안입니다. 다음은 그 예입니다.

    // start animating before the background task starts
    activityIndicator.startAnimating()
    
    // background task
    DispatchQueue.global(qos: .userInitiated).async {
    
        doSomethingThatTakesALongTime()
    
        // return to the main thread
        DispatchQueue.main.async {
    
            // stop animating now that background task is finished
            self.activityIndicator.stopAnimating()
        }
    }
    


답변

이것이 올바른 방법입니다.

UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityIndicator.center = CGPointMake(self.view.frame.size.width / 2.0, self.view.frame.size.height / 2.0);
[self.view addSubview: activityIndicator];

[activityIndicator startAnimating];

[activityIndicator release];

회전을 지원하는 경우 자동 크기 조정 마스크를 설정하십시오. 건배!!!


답변

이 방법으로 시도

UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activityIndicator.frame = CGRectMake(10.0, 0.0, 40.0, 40.0);
    activityIndicator.center = super_view.center;
    [super_view addSubview: activityIndicator];

[activityIndicator startAnimating];


답변


답변

Swift 4, Autolayout 버전

func showActivityIndicator(on parentView: UIView) {
    let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: .gray)
    activityIndicator.startAnimating()
    activityIndicator.translatesAutoresizingMaskIntoConstraints = false

    parentView.addSubview(activityIndicator)

    NSLayoutConstraint.activate([
        activityIndicator.centerXAnchor.constraint(equalTo: parentView.centerXAnchor),
        activityIndicator.centerYAnchor.constraint(equalTo: parentView.centerYAnchor),
    ])
}