Skip to content

Instantly share code, notes, and snippets.

@LeeDDHH
Last active December 29, 2021 02:12
Show Gist options
  • Save LeeDDHH/4d9343a1c70644a2ef9aaedfb4a66ca2 to your computer and use it in GitHub Desktop.
Save LeeDDHH/4d9343a1c70644a2ef9aaedfb4a66ca2 to your computer and use it in GitHub Desktop.
iOS(Object-c)開発で知ったこと

Xcode バージョン

  • 11.3.1

Xcodeの操作エリア

エディターエリアの右下にある項目(Canvas Menu)

アプリのアイコンを指定する方法

  • Project navigator > Assets.xcassets で指定する
  • アプリで使うリソースは Assets.xcassets にて扱う

アイコン指定時 1x,2x,3x の見方

  • 1x → Retinaディスプレイが搭載されていないデバイス
  • 2x → 一般的なRetinaディスプレイが搭載されているデバイス
  • 3x → RetinaHD,Super Retinaのような最新のRetinaが搭載されているデバイス
  • 表示されている pt は1xを基準としている
    • つまり、 2xは基準の倍、 3xは基準の3倍で作られた素材を使う
  • アイコン生成時に使うサイト

スプラッシュ画面

  • Project navigator > LaunchScreen で指定する
  • アプリ起動時にちょっとだけ表示される画面
  • Image ViewLabel を追加する
  • Tool bar > Library から追加する
  • shortcut Shift + Cmd + L
  • Image Viewにイメージを追加する
    • Image Viewを選択
    • Utility area > Attributes inspector > Image View > imageAssets.xcassets から追加したイメージを選択
    • Utility area > Attributes inspector > View > Content Mode で Aspect Fitを選択
  • Labelを修正する
    • Utility area > Attributes inspector > Label > Text の下項目で文言を修正する
    • Utility area > Attributes inspector > Label > Font でサイズを変更する
  • 要素のLayoutを決める
    • 一つのレイアウトで管理する要素を選択する
    • Etditor Area > 右下のStack > Sttack View
    • Interface Builder > Document Outline > Stack View
  • Stack View内の要素を調整する
    • Interface Builder > Document Outline > Stack View を選択
    • Utility area > Attributes inspector > Statck View > Alignment をCenterに指定
    • Utility area > Attributes inspector > Statck View > Spacing で要素間の距離を調整する
  • Image Viewのサイズを固定する
    • Interface Builder > Document Outline > Image View を選択
    • Etditor Area > 右下のPin を選択
    • Width Height をチェックし、イメージサイズを決めて、Addする
  • Stack Viewを画面の真ん中に整列する
    • Interface Builder > Document Outline > Stack View を選択
    • Etditor Area > 右下のAlign を選択
    • Horizontally in Container Vertically in Container を選択し、Addする

メインLayoutを構成する(Navigation Controller)

  • Main.storyboard を選択
  • storyboardを編集するエリアを Interface Builder と言う
    • 画面→ Canvas
    • iphone画面→ Scene
  • イベント操作、コントロールアップデートがしたい場合、SceneとClassを繋げるべき
  • Sceneの上にあるバーを Scene Dock と呼ぶ
  • Main.storyboardとViewController.h、ViewController.mをそのまま使ってもいい
  • Libraryから Navigation Controller を選択する
    • Navigation Controller Scene は画面管理用Object
    • Table View と表示されるSceneが実際に表示される画面
  • View
    • ボタン、イメージなど
  • View Controller
    • イベント処理、ビュー管理
  • 黒い画面だけが表示されるケース
    • スタート画面を指定していないことが原因
      • View Controller を選択
      • Attribute Inspector > View Controller > Is Initial View Controller を選択

ナビゲーションバーを構成する

  • Navigation Controller を使うと画面の上にナビゲーションが自動的に追加される
  • 画面名とボタンが追加できる
  • 前の画面に戻るボタンは左上に自動で追加される
  • iOS11からLarge Titleが使用できる
    • View Comtroller を選択
    • Attributes Inspector > Navigation Bar > Prefers Large Title をチェック
  • ボタンを追加する
    • Libraryで Bar Button Item を選択し、View ComtrollerのNavigation Barの右側に配置する
    • Bar Button Ittem > Attributes Inspector > Systetm Item でボタンの模様が変えられる

クラスを追加する

  • Project Navigator > 右クリック > New Group
    • Modelという名前でもよい
  • 新しく生成したフォルダに New File する
    • Cocoa Touch Class を選択し、 Subclass ofNSObject にする
    • Objective-Cのクラスは NSObject を直接/間接的に相続すべき

Object-C自体の基本

  • ヘッダーファイルとメインファイルが存在
    • .h、.m
    • ヘッダーファイル → メンバー変数と定義するメソッド名(引数込み)のみ定義
    • メインファイル → メソッドを定義する
  • メモリの自動解放はしてくれない
    • ガーベジコレクションを手動でやる
    • 手動で解放するロジックをコーディングする必要がある
    • 関連メソッド
      • retain → オブジェクトを確保
      • release → オブジェクトを解放
      • autorelease → オブジェクトを自動で解放
    • 書き方例
      • [[xxx alloc] init] → releaseが必要
      • [[[xxx alloc] init] autorelease] → releaseは不要
      • [[xxx alloc] initWith~] → releaseが必要
      • [[xxx alloc] xxxWith~] → releaseは不要(autoreleaseされる)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment