0
私は、デバイスが逆さまになっているときにのみ、ラベル「dave」が隠されないというコードを書こうとしています。現在、ラベル「dave」は4方向すべてに表示されています。これは私のコードです。オリエンテーションが変更されたときにエフェクトが適用されない(swift3)
import UIKit
class ViewController: UIViewController {
@IBOutlet var dave: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
s()
}
func s() {
if UIDevice.current.orientation == UIDeviceOrientation.landscapeLeft {
dave.isHidden = true
} else if UIDevice.current.orientation == UIDeviceOrientation.landscapeRight {
dave.isHidden = true
} else if UIDevice.current.orientation == UIDeviceOrientation.portrait {
dave.isHidden = true
} else if UIDevice.current.orientation == UIDeviceOrientation.portraitUpsideDown {
dave.isHidden = false
}}}
あなたは* viewDidLoad *が一度**発生したことを知っていますか?そこにあなたの "s"関数を呼び出さないでください - 方向が変わったときにそれを呼び出してください。 (そして、はい、* viewWillAppear *の初期オリエンテーションをチェックしたいと思います。) – dfd