방향이 다른 두 개의 이미지 bg-land
및 bg-port
이 있습니다. 나는 방향을 바꾸면서 이미지를 바꾸고 싶다. 그러나 이미지는 변하지 않습니다. LandScape에서 시뮬레이터를로드하면 bg-land
은 완벽하게 작동하지만 회전에서는 작동하지 않습니다. 코드 :방향 변경시 배경이 변경되지 않습니다.
override func viewDidLoad() {
super.viewDidLoad()
loadBackground()
}
func loadBackground(){
if(UIApplication.sharedApplication().statusBarOrientation.isPortrait){
var bgImage = UIImage(named: "bg-port")
var background = UIImageView(frame: self.view.bounds);
background.image = bgImage
self.view.addSubview(background)
self.view.sendSubviewToBack(background)
println(bgImage)
} else {
var bgImage = UIImage(named: "bg-land")
var background = UIImageView(frame: self.view.bounds);
background.image = bgImage
self.view.addSubview(background)
self.view.sendSubviewToBack(background)
println(bgImage)
}
}
override func didRotateFromInterfaceOrientation(fromInterfaceOrientation: UIInterfaceOrientation) {
loadBackground()
}
위에 추가하면 self.background가 허용되지 않습니다. 'ViewController does not는 background라는 이름의 멤버'를 가지고 있습니다. – tika
@ user2078462 : 저의 답에서 UIImageView를 클래스 멤버 변수로 만들고 이것을 배경으로 지정해야한다고 말했습니다. –
완벽하게 작동합니다. 그러나 프로그램 적으로 방법이 있습니까? – tika