2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iOSアプリ ノッチ判定

Last updated at Posted at 2020-06-01

##はじめに
アプリ完成間際、ノッチの存在に気付き実装しました。
忘れがちなので、気をつけたいです。

##やりたいこと

iPhoneX以降、ノッチが出現したことにより、画面上部ぎりぎりに配置すると、
ノッチと被ってしまい画面上に表示されなくなってしまいます。
なので、ノッチがあるかないかを判定して、

ノッチがある場合 → ノッチ分(44pixel)ずらす
ノッチがない場合 → 画面上部ギリギリに配置

という方法をとることにしました。

##実装

view.swift
class view: UIViewController {
  let text = UILabel()

  override func viewDidLoad() {
     
     //safeAreaの値を取得します。
     let safeAreaInsets = UIApplication.shared.keyWindow?.safeAreaInsets.left

     super.viewDidLoad()
     
     //safeAreaの値が44.0以上であれば、ノッチがあるので、x位置をずらします。
     if(safeAreaInsets! >= 44.0){
         text.frame =  CGRect(x:50,y:width/2, width:self.view.frame.height,height: 50)
     }
     //ノッチがない場合の処理
     else{
         text.frame =  CGRect(x:10,y:width/2, width:self.view.frame.height,height: 50)
     }
 }

ノッチの値が44なので、今回は50ずらしました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?