비슷한 문제가있었습니다. 내 웹 응용 프로그램에 대한 HTTP 호출을 실행하고 싶었습니다. 따라서 트윗 URL이 필요할 것입니다. (제 경우에는 웹 응용 프로그램에 대한 호출이 비동기 스레드이기 때문에 더 복잡했습니다.) 두 가지 방법이 있습니다 ... 스토리 보드에 활동 지표보기를 추가하고 여기에 설명 된대로 IBActions를 만들 수 있습니다. http://sourcefreeze.com/uiactivityindicatorview-example-using-swift-in-ios/
코드를 통해 UIActivityIndicatorView
을 추가하는 것이 더 간단하다는 것을 알았습니다. 클래스의 일원으로서 : 직전
func startActtivityIndicator(){
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
self.view.addSubview(activityIndicator)
activityIndicator.startAnimating()
}
func stopActtivityIndicator(){
activityIndicator.stopAnimating()
activityIndicator.removeFromSuperview()
}
그런 다음 단추 처리기에서 첫 번째 작업으로 startActivityIndicator()
를 호출 stopActtivityIndicator()
: let activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
은 내가 startAnimating()
및 stopAnimating()
새로운 방법 내에서 호출을 추가 당신은 페이스 북 공유를 보여줍니다.
DispatchQueue.main.async(execute: {() -> Void in
self.stopActtivityIndicator()
})
I : I는 표시를 종료하고 비동기 HTTP 요청에 대한 응답으로
SLComposeViewController
를 사용하여 트윗 상자를 (보여주고 싶었다 때문에 내 경우에는, 나는 정지 방법에 메인 쓰레드로 다시 이런 식으로 전화를했다 버튼 핸들러를 사용하지 않습니다.이 버튼은 Apple의 SDK에 의해 처리됩니다. Facebook 버튼이 UIActivityViewController에서 탭될 때 어떤 이벤트도 수신하지 않습니다. 문제가 있습니다 . –아, 사실, Facebook 공유에서의 지연에 관한 것입니다. 화면이 나타나지만이 사례를 직접 처리하지는 않지만 http://stackoverflow.com/questions/13519904/how-to-make-the-presentviewcontroller-with-slcomposeviewcontroller-faster의 답변 중 일부가 도움이 될 수 있습니다. 하나는'SLComposeViewController '를 미리로드하는 방법을 설명하고 다른 하나는 그것을로드하는 것을 제안한다. 앱이 느려지는 것을 방지하는 비동기 –