タグ

ブックマーク / blogios.stack3.net (7)

  • viewDidUnloadがdeprecatedになった理由を考察 | Cyber Passion for iOS

    iOS 6でviewDidUnloadがdeprecatedになりました。もはやメモリ不足の状況になってもViewController#viewが自動的に解放されることはありません。 このドキュメントの「On iOS 6 and Later, a View Controller Unloads Its Own Views When Desired」の項目を参照。 ここに以下のように書かれています(超意訳)。 画面上に描画されているviewはメモリをたくさん消費する可能性がある。ただし、windowにアタッチされなくなったviewのリソース(viewそのものではなく、たぶんその描画に関するもの)を、システムは自動的に解放する。だからほとんどのviewのメモリ消費は十分小さく、システムが自動的にviewそのものを削除したり、再生成する価値はない。 おそらく現行のiPhoneが十分なメモリを搭載

    viewDidUnloadがdeprecatedになった理由を考察 | Cyber Passion for iOS
  • facebook風のスライドメニューを実装する | Cyber Passion for iOS

    facebook風のスライドメニューを自前で実装すると結構たいへんなので、githubにcommitされているIIViewDeckControllerを使うのが良いと思います。 https://github.com/Inferis/ViewDeck IIDeckViewControllerにもサンプルが付属していますが、どちらかというと何ができるかのサンプルなので、より実践的なサンプルを書いてgithubにcommitしました。 https://github.com/stack3/STViewDeckControllerSample クラスの説明 IIViewDeckController スライドメニューを実現するクラス。このViewControllerでメニュー用のViewControllerと中身となるViewControllerを管理します。メニューはleftViewControll

    facebook風のスライドメニューを実装する | Cyber Passion for iOS
  • フルプログラミングによるAuto Layoutをおすすめしない理由 | Cyber Passion for iOS

    Visual Format Languageを使ったプログラムによるAuto Layoutについて前回説明しました。 プログラムによるAuto Layout しかし、自分はVisual Format Languageは使わない方向でいきたいと思います。またInterface Builderを嫌って、すべてプログラムによるAuto Layoutで実装することもおすすめできません。その理由を以下に述べます。 2014/3/21更新。Xcode 5以前はInterface BuilderでのAuto LayoutのConstraint設定で不便なことが多く、保守性を考えるとAuto Layoutが使える範囲は限定的ではないかという見方で記事を書いていました。Xcode 5からはInterface Builderも洗練されたので、できるだけInterface Builder + Auto Layo

    フルプログラミングによるAuto Layoutをおすすめしない理由 | Cyber Passion for iOS
    gologo13
    gologo13 2013/09/05
    なるほど → “動的にSubviewを追加したり、状況に応じて表示・非表示が変わるSubviewがない場合は、Interface Builder + Auto Layout”
  • Auto Layoutチュートリアル その1 | Cyber Passion for iOS

    この記事はXcode 4.6.3 & iOS 6のものです。Xcode 5 & iOS 7はこちら。 http://blogios.stack3.net/archives/1330 今回はAuto Layoutでのsubview配置について説明したいと思います。 Auto Layoutによる配置の基的な考え方 従来のframeのCGRect指定やAutoresizingMaskのFlexibleWidth、FlexibleHeightに慣れている人は、頭の切替が必要だと思います。Auto LayoutによるSubview配置は以下のようにして考えます。 Superviewの上端 or 下端 or 左端 or 右端からの間隔(Space) Superviewの水平方向中心、垂直方向中心に位置するかどうか 他のViewとの相対位置。間隔、アライン合わせ、サイズ合わせなど Documentを読

    Auto Layoutチュートリアル その1 | Cyber Passion for iOS
  • ViewのxibをロードしてカスタムViewとひもづける | Cyber Passion for iOS

    この記事は古いものです。Auto Layoutの対応を含めると以下の記事の対応が望ましいと思います。(2014/1/25) Auto LayoutでCustom Viewを作る Auto LayoutでCustom TableViewCellを作る また下記の記事内容のようにxibからロードしてCustom Viewをインスタンス化するより、上記記事のようにCustom Viewクラスの初期化メソッドでxibをロードしSubviewとしてaddする方が良いと思います。理由は他のxibやstoryboardでCustom Viewを配置できるようになるからです。この記事の方法ではプログラムからしかCustom Viewを生成できないと思います。Auto Layoutを駆使できるようになると、プログラムからViewを配置する機会は減り、Interface BuilderでCustomViewも

    ViewのxibをロードしてカスタムViewとひもづける | Cyber Passion for iOS
  • カスタムViewをInterface Builderで配置する | Cyber Passion for iOS

    UIViewを継承して自分で独自に作ったクラスや、オープンソースのクラスをInterface Builderで配置する方法を説明します。気をつけないと「Unable to simultaneously satisfy constraints.」というエラーになりかねません。 UILabelなど標準で用意されているUIViewのSubclassは、Interface Builderでリストアップされていて、そこからドラッグアンドドロップして配置します。 カスタムViewの配置方法 Subviewを配置して選択した状態で、Identity Inspectorを選択します。Custom Classの項目のCustomに配置しているSubviewのクラス名が表示されています。以下はUILabelを配置したので、ClassがUILabelとなっています。 ここをカスタムViewのクラス名に変更すれば

    カスタムViewをInterface Builderで配置する | Cyber Passion for iOS
  • AFNetworking その1 HTTPリクエスト | Cyber Passion for iOS

    通信ライブラリの定番になりつつあるAFNetworking。大変便利です。NSURLConnectionを使う機会はほとんどなくなりました。各クラスの使い方を説明していきたいと思います。 今回は、基的なHTTP通信の方法、JSONの取得、画像の取得について説明します。 AFHTTPRequestOperationクラス 代表的なクラスは、AFHTTPRequestOperationです。このクラスを使って基的なHTTP通信処理を行うことができます。 以下はhttp://www.yahoo.co.jp/へアクセスしてHTMLを文字列でNSLogに出力します。 NSURL *url = [NSURL URLWithString:@"http://www.yahoo.co.jp/"]; NSURLRequest *request = [NSURLRequest requestWithURL:

    AFNetworking その1 HTTPリクエスト | Cyber Passion for iOS
    gologo13
    gologo13 2013/08/04
    AFNetworking
  • 1