LoginSignup
3
0

More than 5 years have passed since last update.

SwiftのaddSubViewの概念からUIButtonが動かない原因を解決する

Posted at

詰まったのでメモ

storyboard上にUIButtonを配置した。

ビルドしたら成功してシュミレーターは動く。

iPhone画面は表示される。

なのにボタン押しても反応しない。

ボタン押しても遷移しない。

こういう場合

qiita.rb
 addsubview

の設定がおかしい場合があります。

例えばViewの上にUIButtonを配置したら、その時点でUIButtonはaddsubviewです。

コードで書くと以下のようになります。

qiita.rb
 self.view.addSubview(UIButton)

これは

qiita.rb
 self

で自分を呼び出してviewの中に

qiita.rb
 addSubview(UIButton)

qiita.rb
 add(追加)

するという意味。Viewの中にbuttonを追加するよという意味

qiita.rb
 self.view.addSubview(UIButton)

そして、butoonが動かない原因の一つとして考えられるのが

qiita.rb
 他のUIの制約の下にUIbuttonとかが隠れてる

この可能性あります。自分はありました。

ViewからViewへ遷移するシチュエーションを考えると理解しやすいのですが

showで画面を遷移する時、画面Aという折り紙の上に画面Bという折り紙が重なるイメージができます

画面Bという折り紙が画面Aをかぶってる以上画面Aはそうさできません

今、storyboard上のUIがどういう配置をしてるのか。

よくよく見ていると、ボタンが動作しない理由がわかったりします。

3
0
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
3
0