2016-08-21 3 views
0

이 주제는 꽤 많은 곳에서 볼 수 있지만 왜 제 코드가 작동하지 않는지 정확히 알 수는 없습니다.UIScrollView 내의 UIImageView의 정렬

저는 인공 수평선의 이미지가 -90도에서 90도 사이에 있습니다. 나는 단지 -20 ~ 20도 정도의 작은 창을 통해 그것을보고 싶다. 그런 다음 로봇이 기대는 각도를 기준으로 이미지를 위아래로 이동하려고합니다.

UIImage를 UIImageView에 추가하여 시작했습니다. 모든 정렬이 정확합니다. 그런 다음 이미지를 위아래로 이동하는 가장 쉬운 방법은 UIImageView를 UIScrollView에 추가하는 것입니다. 이제 정렬을 올바르게하는 방법을 알 수 없습니다. 나는 scrollview에서 드래그하면 거기에 이미지를 볼 수 있지만 내가 놓아 자마자 그곳으로 돌아갑니다.

여기 코드가 있습니다. 이것은 당신은 실제 이미지 크기로있는 ScrollView의 contentSize을하지 설정해야

override func viewDidLoad() { 
    super.viewDidLoad() 

    let imageRect = CGRectMake(self.view.frame.width/2 - 100, self.view.frame.height/2, 200, 200) 

    self.myImageView = UIImageView.init() 
    self.myImageView = UIImageView(frame: imageRect) 
    self.myImageView.contentMode = UIViewContentMode.Center 
    self.myImageView.clipsToBounds = true 
    self.myImageView.image = UIImage.init(named:"horizon") 
    //self.view.addSubview(self.image) 


    self.myScrollView = UIScrollView(frame: imageRect) 
    self.myScrollView.contentSize = CGSize(width: imageRect.width, height: imageRect.height) 

    self.myImageView.center = self.myScrollView.center 
    self.myScrollView.frame = imageRect 
    self.myScrollView.backgroundColor = UIColor.blackColor() 
    self.myScrollView.contentOffset = CGPoint(x: 0, y: 0) 
    self.myScrollView.addSubview(self.myImageView) 
    self.view.addSubview(self.myScrollView) 

    ///////// 


    self.connectionStatusLabel.text = "Disconnected" 
    self.connectionStatusLabel.textColor = UIColor.redColor() 

    self.textBox.font = UIFont(name: self.textBox.font!.fontName, size: 8) 

    // Watch Bluetooth connection 
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.connectionChanged(_:)), name: BLEServiceChangedStatusNotification, object: nil) 


    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.dataReceived(_:)), name: BLEDataChangedStatusNotification, object: nil) 


    // Start the Bluetooth discovery process 
    btDiscoverySharedInstance 
} 

답변

1

(온유 농담) 나는 어떤 조롱을 환영이 할 수있는 더 좋은 방법이 있는지, 그래서 쓴 최초의 스위프트 코드 imageView의 사이즈 그리고 imageView 크기를 실제 이미지 크기로 설정하십시오.

let image = UIImage.init(named:"horizon") 
// Set the imageView's size to the actual image size 
self.myImageView.frame = CGRect(x: 0, y: 0, width: size.width, height: size.height) 
... 
... 
// Set the scrollView's contentSize to the actual image size 
self.myScrollView.contentSize = image.size 
관련 문제