初歩的な質問で申し訳ないのですが。
iPhoneのディスプレイサイズに応じて処理を行いたいとき
このようなコーディングをしました。
if self.view.frame.width == 320 { stampView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)) stampView.image = stampImage } else if self.view.frame.width == 375 { stampView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)) stampView.image = stampImage } else if self.view.frame.width == 414 { stampView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)) stampView.image = stampImage } else { stampView = UIImageView(image: stampImage) }
次に、コードを短くしたいため
下記のコーディングをしました。
let screenSize = self.view.frame.width if (screenSize == 320) || (screenSize == 375) || (screenSize == 414) { stampView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)) stampView.image = stampImage } else { stampView = UIImageView(image: stampImage) }
次に
さらにコードを短くできるのではないかと思うのですが、
コードの書き方が分かりません。
下記のような書き方はできますでしょうか?
if self.view.frame.width == 320 または 375 または 414 のとき { stampView = UIImageView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)) stampView.image = stampImage } else { stampView = UIImageView(image: stampImage) }
また、if文を用いずに
別手段でコードを短くさせることが可能でしたら
ご教示いただけますでしょうか。
よろしくお願いいたします。
■追記
すみません、説明不足でした。
作成中のアプリの仕様上、autolayoutは用いていません。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー