2017-05-15 2 views
0

상황을 작동하지 않는 것은 다음과 같이이다 : - IMAGE_1 스위프트 3 회전이 제대로

  • 세로 모드에서 응용 프로그램의 경우를 표시 - 가로 모드에서 응용 프로그램이있는 경우

    1. IMAGE_2을 표시

    다른 튜토리얼을 시도했지만 여전히 문제가 있습니다.

    // MARK:- Orientation 
        override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { 
        if UIDevice.current.orientation.isLandscape { 
         let endpoint = URL(string: "http://xx.xx.x.xx") 
           do { 
            let data = try Data(contentsOf: endpoint!) 
            img_card_logo.image = UIImage(data: data) 
            img_card_logo.frame = UIScreen.main.bounds 
            img_card_logo.backgroundColor = .black 
    
            self.navigationController?.isNavigationBarHidden = true 
            self.tabBarController?.tabBar.isHidden = true 
    
           } catch { 
            print("Error") 
           } 
    
           print("Landscape Mode") 
        } else { 
         let endpoint = URL(string: "http://xx.xx.x.xx") 
          do { 
           let data = try Data(contentsOf: endpoint!) 
           img_card_logo.image = UIImage(data: data) 
    
           self.navigationController?.isNavigationBarHidden = false 
           self.tabBarController?.tabBar.isHidden = false 
    
          } catch { 
           print("Error") 
          } 
    
          print("Potrait Mode") 
        } 
    } 
    

    에뮬레이터를 여러 번 회전하면 이미지 만 나타나지만 인쇄 문은 올바르게 작동합니다.

    정말 도움이됩니다.

  • +0

    왜이 라인을 작성하지 않았습니까? img_card_logo.image = UIImage (data : data) portraint는 필요하지 않습니다. – KKRocks

    +0

    @KKRocks potrait와 풍경의 이미지가 달랐습니다. 다른 URL에서로드해야합니다. – Sariyanti

    +0

    귀하의 진술에 혼란스러워 ** ** 초상화 모드의 앱 ** - ** – KKRocks

    답변

    0

    보기 컨트롤러가로드 된 후 요청을 실행하면 두 이미지를 모두 다운로드 할 수 있습니다.보기가 크기로 전환되는 것은 다소 까다 롭고 실제로는 좋지 않습니다. (. 예를 들어 image1에, 이미지 2) : https://github.com/Alamofire/Alamofire

    또는 자신의 요청을 만들 :

    이미지 중 하나 Alamofire 사용 요청하려면, 당신은 클래스 변수의 두 가지를 만들 수 위의 코드를 사용하여

    let url = URL(string: "http://xx.xx.xx.xx") 
    var request = URLRequest(url: url!) 
    request.httpMethod = "GET" 
    request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData 
    
    let task = session.dataTask(with: request as URLRequest) { 
          (data, response, error) in 
          guard let data = data, let _:URLResponse = response, error == nil else { 
           print("There was an error!") 
           return 
          } 
          //Add operation to Main Thread queue 
          OperationQueue.main.addOperation({ 
           let image = UIImage(data: data) 
           image_view.image = image 
          }) 
         } 
    task.resume() 
    

    을 다운로드 viewDidLoad에 이미지를 저장 한 다음 viewWillTransitionToSize에 사용하십시오.

    +0

    여전히 동일한 것. – Sariyanti