Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Auto Layout ドリル

yuichi takeda edited this page Mar 12, 2015 · 2 revisions

このページはAutoLayoutのレイアウトを実際にやってみる演習問題を集めたページです 動作環境はXcode6.1 を想定しています。 回答の詳細はサンプルプロジェクト(SampleProjects/AutoLayout/AutoLayoutDrill)をご覧ください

中央に配置

問題

下の図のように、200px四方のViewを画面中央に配置してください。 その際、違うサイズのシミュレータや回転しても正しく中央に配置されるようにしてください。 (シミュレータの回転は コマンド+矢印キー です)

sample1

回答

  • 適当なViewを配置し、widthとheightのconstraintをそれぞれ200pxで設定します
  • Horizontal Center in Container と Vertical Center in Container の制約を追加します

answer1

画面サイズに合わせる

問題

下の図のように、親Viewとのマージンが4方向全てで70pxになるようにViewを配置してください。

sample2

回答

  • 何か適当なViewを配置して Leading Space, Trailing Space, Top Space, Bottom Spaceの4つの制約を設定します。

answer2

四隅に配置

問題

下の図のように画面の四隅に40ピクセル四方のViewを配置してください。 その際、画面の上から40px, それ以外の縁からは20px離すようにしてください

sample3

回答

  • 四隅に配置するViewそれぞれにwidthとheightを40pxに固定する制約を付けます
  • それぞれのViewにLeading Space, Trailing Space, Top Space, Bottom Spaceの制約を付けます
    • この際、それぞれの箇所に必要な制約だけを付けます。例えば左上の場合は、左(Leading Space) と上(Top Space)のみの制約を付けます

answer3

階層構造

問題

以下の図のように、画面下部にグレーの帯のViewを配置し、その上に60px四方の青いViewとラベルを配置してください。 その際、以下条件を満たすようにしてください。

  • グレーの帯は親Viewいっぱいに広がるようにする
  • 青いViewはグレーのViewから上と左について8pxのマージンを取る
  • ラベルは青いViewから8pxのマージンと上から8pxのマージンを取る

sample4

回答

  • まずベースとなるグレーのViewを画面下部に配置します
    • Leading, Trailing, Bottom Spaceの制約を0で設定
    • 高さを76pxで制約を設定
  • 次にそのグレーのViewの上に青いViewとUILabelを配置します
    • 青いViewは幅と高さを60pxで設定、Leading Space, Top Spaceを8pで設定します
    • Labelは Leading Space, Top Spaceを8pで設定します

answer4

はじめに

  1. iOSについて

  2. Xcode最初のステッフ

  3. 導入

  4. Objective C の基礎

  5. メモリ管理

  6. 1.3 UIViewController1 UIViewController のカスタマイズ(xib, autoresizing)

  7. 1.3 UIViewController1 UIViewController のカスタマイズ(storyboard)

  8. UIViewController2 - ModalViewController

  9. UIViewController2 - ModalViewController(storyboard)

  10. UIViewController3 - ライフサイクル

  11. HomeWork 1 Objective C の基本文法

  12. HomeWork 2 UIViewControllerとModalViewController

  13. HomeWork 3 UIViewController + Animation

  14. UIKit 1 - container, rotate-

  15. UINavigationController

  16. UITabController

  17. Custom Container View Controller

  18. Supporting Multiple Interface Orientations

  19. HomeWork 1 - タブバーからモーダルビューを表示する

  20. HomeWork 2 - NavigationController

  21. HomeWork 2.3 デバイスことに回転対応

  22. UIKit 2- UIView -

  23. UIView

  24. UIView のカスタマイズ

  25. UIView Animation

  26. HomeWork 1 - UIScrollView

  27. UIKit 3 - table view -

  28. UITableView について

  29. UITableViewとNavigationController

  30. custom UITableViewCell の作成

  31. UITableViewのその他のオプション、カスタマイズ

  32. HomeWork 1 - Dynamic height with a custom uitableviewcell

  33. UIKit 4 - image and text -

  34. UIImagePickerController

  35. Assets Library

  36. UITextFiled, UITextView

  37. KeyboardNotification

  38. Homework 1 - フォトの複数枚選択

  39. ネットワーク処理

  40. NSURLConnection

  41. JSONのシリアライズとデシリアライズ

  42. UIWebView

  43. ローカルキャッシュと通知

  44. NSUserDefaults, Settings Bundle

  45. NSFileManager

  46. Key Value Observing

  47. NSNotification、NSNotificationCenter を用いた通知

  48. UILocalNotification

  49. Blocks, GCD

  50. Blocks

  51. GCD

  52. 【演習】GCD,-Blocksを用いたHTTPリクエストマネージャの作成

  53. 設計とデザインパターン

  54. クラス設計 1

  55. クラス設計 2

  56. [クラス設計演習] (https://github.com/mixi-inc/iOSTraining/wiki/9.3-%E3%82%AF%E3%83%A9%E3%82%B9%E8%A8%AD%E8%A8%88%E6%BC%94%E7%BF%92)

  57. 開発ツール

  58. Instruments, デバッガ

  59. CocoaPods

  60. テスト

  61. iOS開発におけるテスト

  62. GHUnit

  63. Kiwi

  64. KIF

  65. In-App Purchase

  66. In-App Purchase

  67. 付録

  68. Tips of Xcode

  69. Auto Layout 入門

  70. Auto Layout ドリル

Edit sidebar

Clone this wiki locally