![http://blog.f60k.com/drawrect_setneedsdisplay_layer/](https://cdn-ak-scissors.b.st-hatena.com/image/square/0a4a0620f3b82977175ad261403fa5a3869811a5/height=288;version=1;width=512/http%3A%2F%2Fblog.f60k.com%2Fwp-content%2Fuploads%2F2012%2F10%2Fdrawrect.jpg)
先日ポストした後輩が作るアプリは動画を再生するアプリを作るみたい。 動画再生にはMPMoviePlayerControllerがあるが、動画をアプリからコントロールするので、MPMoviePlayerControllerに表示される再生ボタンなどのコントローラーはいらないらしい。 そうなると、AVFoundationを使って表示させた方が都合がいいです。 重要なクラスは、以下の2つ。 1. AVPlayer 動画を制御するクラス。 動画についての様々な情報も持っている。 2. AVPlayerLayer 動画を表示するクラス。 AVPlayerLayerはCoreAnimationのCALayerのサブクラス。 レイヤーなので、UIViewのlayerプロパティなどに追加(addSublayer)して使う。 よく見るこのページでは、UIViewのクラスメソッドlayerClass
lldbのrecursiveDescriptionがめっちゃ便利です。 lldbでUIViewのsubviewを再帰的に確認できます。 (lldb) po [self.view recursiveDescription] <UIView: 0x113713260; frame = (0 0; 320 568); autoresize = RM+BM; layer = <CALayer: 0x10bca42f0>> | <_UILayoutGuide: 0x10bcac7d0; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x11370df90>> | <_UILayoutGuide: 0x10bcb0650; frame = (0 0; 0 0); hidden = YES; layer = <CALayer: 0x10bc257
UIViewの表示内容は、画像コンテキストからUIImageとして取得できるので、そのまま画像に保存することが可能です。 以下のコードは、MKPinAnnotationViewを、ピンのカラーを指定して画像に出力するコードです。 - (void)writePinAnnotationView:(MKPinAnnotationColor)pinColor { static NSString *annotationIdentifier = @"Annotation"; MKPinAnnotationView *view =[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier]; view.pinColor = pinColor; NSString *file
UIView の位置やサイズを知るプロパティに frame と bounds があります。この frame とbounds の違いを簡単にまとめて見ました。 簡単にまとめると以下のようになります。 frame はスーパービューから見た座標 bounds はローカルのビューから見た座標 実際に親子関係のビューを作成して確認してみます。 ViewB は ViewA の中に配置されています。 [ViewA addSubView:ViewB] のような関係です。 この時の frame と bounds はそれぞれ以下のようになります。 ViewA.frame origin: 0,0 size: 550×400 ViewA.bouns origin: 0,0 size: 550×400 ViewB.frame origin: 200,100 size: 200×250 ViewB.bounds or
こんにちは、共同開発部 iOS アプリ開発担当の図子です。 iOS 開発をしている皆さんはどういったタイミングで View のレイアウトをおこなっていますか?私は1年くらい前までは ViewController の viewWillAppar 等のメソッド内や、ViewController から View へ情報をセットするタイミングで ViewController 側から直接 View の frame やその View が持つ UILabel の frame を触っていたりしていました。これだと、想定外のタイミングでレイアウトが崩れたり、ViewController 側のコード量がふくれあがってしまいがちであまり良くないと思います。また、autoresizingMask を使うと楽ですが少し込み入ったレイアウトが必要になってくると autoresizingMask では対応できなくなって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く