Skip to content
tamotamago edited this page Apr 22, 2013 · 12 revisions

View Programming Guide for iOS | iOS Viewプログラミン グガイド

UIView Class Reference

UIView クラスは大きく分けて以下の役割を持っています。

  • 独自のコンテンツ描画
  • 各 View を管理するコンテナ
  • アニメーション
  • イベント処理

ここでは View の管理方法とカスタム UIView の作成を説明します。

subViews

ある viewA に重ねられた viewB は ViewA の SubView となります。viewB は viewA の subViews に管理されます。

subViews

問題

上図のように、view に任意の UIView コンポーネントを複数個配置してください。IBOutlet を使用せずにプログラムから特定の UIView コンポーネントを消してください。

  • for の高速列挙を使ってください。
  • [obj isKindOfClass:[UIView class]] を使うことで obj が UIView クラスなのかを判定できます。

tag

UIView インスタンスは NSinteger の tag というプロパティを持っています。ここに数値をセットすることで、View を高速に検索することが出来ます。

UIView *subView = [view viewWithTag:8];

このコードを実行することで view とその subView を深さ優先検索し該当 view があればそこで検索を終了します。

また、タグを使うことによって、ボタンのイベント処理を一つのメソッドにまとめることが出来ます。

tag

このような場合、sender.tag で処理を振り分けることで、ボタンごとにメソッドを宣言実装する必要がなくなります。

view の追加/削除

今までに出てきた addSubView/removeFromSuperView の他にも view を insert するメソッドがあります。

  • insertSubview:atIndex: subViews の index を指定
  • insertSubview:aboveSubview: 指定の view の上に insert
  • insertSubview:belowSubview: 指定の view の下に insert
  • exchangeSubviewAtIndex:withSubviewAtIndex: subView の入れ替え、remove してから addSubView するよりも高速

view の座標系

iOS では左上を座標の起点とします。 origin

frame

frame-bounce-center

引き延ばし可能な view

View の stretch 機能を使うことで画像の引き延ばし可能領域を設定することが出来ます。

Interface Builder 上で設定する場合は Stretching の部分の数値を変更することで設定可能です。

  • x, y : 起点から **引き延ばし不可能 ** な領域の割合を設定します
  • Width, Height : x, y で決めた点から 引き延ばし可能 な領域を設定します。

stretch

画像リンクcircle

  1. 導入
  2. Objective C の基礎
  3. メモリ管理
  4. UIViewController1 - UIViewController のカスタマイズ
  5. UIViewController2 - ModalViewController
  6. UIViewController3 - ライフサイクル
  7. UIKit 1 - container, rotate-
  8. UINavigationController
  9. UITabController
  10. Custom Container View Controller
  11. Supporting Multiple Interface Orientations
  12. UIKit 2- UIView -
  13. UIView
  14. UIView のカスタマイズ
  15. UIView Animation
  16. UIKit 3 - table view -
  17. UITableView について
  18. UITableViewとNavigationController
  19. custom UITableViewCell の作成
  20. 4.4 UITableViewのその他のオプション、カスタマイズ
  21. UIKit 4 - images -
  22. UIImage (CoreGraphics)
  23. UIImageView
  24. Accets Library
  25. CoreImage
  26. UIKit 4 - text -
  27. UILabel
  28. UITextView
  29. KeybordNotification
  30. 非同期処理系
  31. NSURLConnection (json シリアライザ)
  32. Blocks
  33. GCD
  34. ローカルキャッシュ
  35. UserDefaults
  36. FileManager
  37. CoreData
  38. SQLite
  39. Instruments
  40. leak
  41. time profiler
  42. その他
  43. 単体テスト (GHUnit)
  44. 結合テスト (KIF)
  45. cocoaPods でライブラリ管理

edit sidebar

Clone this wiki locally