[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)
-
UIActivityIndicatorView
Interface 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];
답변
활동 표시기와 함께 텍스트를 추가하려면 http://nullpointr.wordpress.com/2012/02/27/ios-dev-custom-activityindicatorview/ 를 참조하십시오.
답변
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),
])
}