0
1

More than 3 years have passed since last update.

忘備録-基本的なiOSアプリ開発

Posted at

趣味でiOSアプリ開発をかじっていた自分が、改めてiOS開発を勉強し始めた際に、曖昧に理解していたところや知らなかったところをメモしています。いつか書き直します。

参考文献

この記事は以下の書籍の情報を参考にして執筆しました。4章を読んだ時のメモです。

4章の概要

4章では電卓アプリを作りながらアプリ開発の基本を学べました。プロジェクトの作成方法から部品配置、コーディング、画面遷移、Auto Layoutについて学べます。本記事ではその中で知らなかったことを忘備録としてメモしています。

Storyboard

部品の関連付け

[option]+ファイル名クリックで画面の右側にファイルを開ける。UI部品の関連付けの際に便利。
image.png

UILabelのAutoshrink

Autoshrinkプロパティの値を変更することでUILableのサイズに収まらないテキストを設定した場合でも、自動的にテキストのサイズを縮小して全文を表示できる。iOSのメジャーバージョンアップ時にフォントのサイズが変わる事もあるので、絶対表示したい文章などを表示するのに使える。
image.png

画面遷移

最初の画面に戻る遷移指定

ボタンを押したら最初の画面に戻る指定をしたい場合、最初の画面のUIViewContorllerに下記のメソッドを定義。
(全て手入力)
@IB~という記述は「@」はプログラムの特別な予約語であることを示し、「IB」はインターフェスビルダーの略。

 @IBAction func restart(_ segue: UIStoryboardSegue){
    //初期化処理
  }

その後、該当のボタン等をExitまでドラッグする。
image.png

ダウンキャスト

あるクラスをサブクラスにキャストすること。
例としてsegueで画面遷移をする際に、親クラスであるUIViewControllerを遷移先のクラスにダウンキャストするときの処理を抜粋。

  let viewController = segue.destination as! ViewController2

Auto Layout

Xcodeに制約を追加してもらう

部品を配置し[Reset to Suggested Constraints] を実行すると、現在の部品の位置で制約をつけてくれる。
image.png

Update Frames

制約と部品の位置がずれている時に、この機能を使うと戻せる
image.png
image.png

Add New Constraintsの項目

image.png

Equal Width : 複数の部品の幅を同じにする制約を追加。部品を複数選択している時に選択可能。
Equal Heights : 複数の部品の高さを同じにする制約を追加。部品を複数選択している時に選択可能。
Aspect Ratio : 複数の部品の感覚の比率の制約を追加。

複数の部品を同じサイズにする

TextFieldを2つ設置し、1つに上からの距離、左からの距離、幅の制約をつける。
もう片方には上からの距離、左からの距離の制約をつける。
image.png

幅を指定したTextFieldから幅を指定していないTextFieldに[control]+ドラッグし、Equal Widthを選択。
image.png
image.png

これで二つのTextFieldの横幅の比率が等しくなる制約がついたので、制約をクリックし、赤ワクで囲った値を1にする。
image.png

これで横幅が等しくなった。
image.png

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