Redirecting… Click here if you are not redirected.
![Redirecting…](https://cdn-ak-scissors.b.st-hatena.com/image/square/4cebe91baf3bcbe3b490062fe1a2d5b56ea3a5ef/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcou_z%2F20170617%2F20170617214112.png)
iPhone6 と iPhone6 Plus が発売になり、本格的に iOS でも Android のように複数解像度に対応したやり方をしないといけなくなってきました。 iPhone5S までは、縦幅が伸びただけだったので、なんとなく Auto Layout を使っていても問題は表面化しづらかったのですが、 iPhone6 で横幅が伸びてしまったことで、適当に Auto Layout を使ってコーディングしていると残念なことになっているアプリが結構あります。 僕も iPhone アプリを開発しているのでこのあたりは結構気を使ってはいるんですが、いかんせん自分のやり方がほんとに正しいのか、やや疑問なところもあります。 そこで、今の自分のやり方を晒して、世の iPhone アプリ開発者の人に突っ込んでもらえればと思い記事を書くことにしました。 間違っている箇所もあると思いますので、ドンドンツッ
ユースケース CADisplayLink を実際に使う例と共にどんなクラスなのか簡単に紹介します。 例えば現在時刻を表示する場合。 画面に表示されている日時を定期的に更新する必要があります。 そのような場合に NSTimer で 0.01 秒など適当なインターバルを設定して更新、みたいなこと実装した経験ありませんか? 僕はあります。 それを解決するための表示されているビューを更新するためのイベントを取得するためのクラス、それが CADisplayLink です。 最近 facebook が OSS 化した pop や、長年 iOS の 2D ゲームフレームワークとして親しまれている cocos2d でも、もちろん使われていました。 facebook/pop cocos2d/cocos2d-iphone CADisplayLink の使い方 CADisplayLink を以下の様にしてセット
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど Defaults値を保存したい。あるいは参照したい。ベタには必要な箇所で書く(あちこち)。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:@"name"];でもキー名を直接書くわけにもいかず定数定義のヘッダを作る。 [[NSUserDefaults.standardUserDefaults setObject:@"hoge" forKey:KEY_NAME];でも synchronize を忘れたりするのでいっそのこと独自クラスを作ってそちらで管理する。 [myDefaults setObject:@"hoge" forKey:KEY_NAME];でも定数定義が毎回面倒。 なによりも設定/参照のコードが長い
シンガポール在住のソフトウェア開発者です。なんだかんだでシンガも4年目突入。仕事もしくは趣味でやっていることをまとめています。 英語のブログは http://atmarkplant.com にあります こんにちは, またしばらくWeb系開発にいそしんでおりまして, iOSが触れない日々が続いています。 先日, アプリの手直しをして ようやくupdate がかかりましたので, この内容が書けるようになりました。 UIView を使って, いろいろな形を作って, それを画面に張り付けたりして, かっこいいUIをつくりたいわけですが, その中で, 円と角丸のView を作ってみました。 成果物はこちら, ColorDos というソフトです。TODOアプリです。 4ヶ国語対応, 無料ですので, 今回のコードでどんなものができるの確認したい方は是非是非 よろしくです。(やっぱり, 最近は出してもDo
CALayerを用いてUIViewを継承したクラスに影をつける方法は、下記のような感じで(CoreGraphicsで描画する方法などと比べて)わかりやすくお手軽で、質感もグッと増すので、ついつい多用したくなります。 self.layer.shadowOpacity = 0.5; self.layer.shadowRadius = 2.0; self.layer.shadowOffset = CGSizeMake(0.0, 0.0); ただ、影とか透過とかの処理はなかなか重いらしく、例えば UITableViewCell に置いた背景用画像に影をつけると、iPhone4ぐらいでも完全に体感できるぐらいに遅くなってしまいます。 で、このコードに下記の3行を付け加えてやると、体感でわかるぐらいに改善されます。 self.layer.shadowPath = [UIBezierPath bezie
Modernize your Objective-C // Speaker Deck のスライドを読んで初めて知ったので、調べてみたら便利そうだったのでそれのメモです 公式ドキュメント Key-Value Coding Programming Guide: Collection Operators 概要 コレクションのvalueForKeyPathメソッドで特殊演算子を文字列で指定することで合計や平均を取得することができます。 演算子は @ から始まります。 なんか言葉で説明するのが苦手なのでサンプルをだらだらと書いておきます。 Simple Collection Operators 例として次のような配列があるとします // 数値配列 NSArray *numbers = @[@3, @2, @5, @1, @4]; NSDateFormatter *formatter = [[NSDa
iOS 7のブラー効果をどう実現する? コントロールセンターや音量調節の背景など、iOS 7でよく見かける磨りガラス風のあれです。ブラーをかけるとなんとなくiOS 7っぽくなるので、「コントロールセンターみたいにブラーかけてよ!」って言われることが増えそうですね。 「磨りガラス風の画像を上にかぶせりゃいいんじゃないの?」と誤解されている方も多いかもしれませんが、そういうわけにはいきません!それっぽく見せるにはプログラムでそこそこのコードを書いてあげなければなりません。 UIViewとかにブラーをかけるメソッドがあるといいのですが、今のところないです。したがって、自前で作成したビューにブラーをかけるには、その処理を自分で実装する必要があります。ようするに時間がかかります。 そこで、ブラーをかけるのにどういった実装方法があるのかを調べてみたところ、以下の2つの方法がみつかりました。 標準コント
2013-12-21 iOS7スタイルのぼかしエフェクトを使用しているハイクオリティなオープンソースUIライブラリ集 iOS7がリリースされてから、iOS7のぼかしエフェクトを使用したオープンソースのUIライブラリが多数リリースされています。今回はその中でもハイクオリティなUIライブラリを紹介します。 ちなみにiOS7のAPIでは、ぼかしエフェクトを標準で提供していません。キャプチャしてぼかしエフェクトを実現しているものが多いです。 このタイプのものは処理が重いのでiPhone5以前では対策が必要です。 iOS-blur https://github.com/JagCesar/iOS-blur iOS7がリリースした直後ぐらいにでたUIです。これはキャプチャーせずにUIToolbarのレイヤーを利用してネイティブのぼかしエフェクトを実現しています。 FXBlurView https://g
iOS 8 の新機能の中でも個人的に気になったのが HomeKit と HealthKit。でも何ができるのか、実際どうやって使うのか、どこまでAPIが開発者に公開されてるのか、発表だけ聞いてもいまいちピンと来ません。 実際に自分で試してみるのが一番です。 そんなわけで、HealthKit、HomeKit を対応デバイスなしでいますぐ試す方法 について6/14日に開催された yidev 第15回勉強会で、表題の内容で発表してきました。 スライドはアップしないつもりだったのでKeynoteではなく Markdown でスライドをつくった のですが、世間的にWWDCの動画(今年のは一般公開されてる)ぐらいまでなら全然OKだよねっていう雰囲気っぽいのでここに内容を貼り付けておきます。 自己紹介 フリーランスiOSデベロッパー ブログ:Over&Out その後 著書:iOSアプリ開発 達人のレシピ
はじめに 高さ可変のテーブルビューセルを作成する方法はいくつかありますが、今回は「Storyboard」上で「Auto Layout」を設定することで実現してみます。環境は以下の通りです。 Xcode 5.1.1 SDK 7.1 Development Target 7.0 完成図 ↑こんな感じに仕上がります。 「Master-Detail Application」テンプレートに手を加えていきます。「Master-Detail Application」は画面上部のプラスボタンを押すと、現在時刻を表示するセルが増えるサンプルですが、セルのラベルを2つに増やし、高さが可変のラベル(ランダムな文字列を表示)と高さ固定のラベル(時刻を表示)が表示されるようにします。また、ラベルの高さに合わせてセルの高さも変わるようにします。 実装 プロジェクト作成 XcodeのFileメニューから New → P
Help us understand the problem. What is going on with this article? 最初に。内容に誤謬がありましたら申し訳在りません。訂正を歓迎します。 tableView:heightForRowAtIndexPath: は rowHeight で置き換えるべきか UITableViewCellの高さが常に一定の時はrowHeightを使う - Qiita この記事には正しいことが書いてあるのですけど、影響があるのは **表示されるセル数** が100や1000に到達するような稀有なケースです。 通常のテーブルビューでは、セルは一度に高々12程度しか表示しないため、`tableView:heightForRowAtIndexPath:`を`rowHeight`に置き換えることによる劇的なパフォーマンス良化はありません。 このことについて
Auto Layout Auto Layout とは、iOS 6 (Mac は OS X Lion) から導入された「制約」ベースのレイアウトシステムです。これは、既存のレイアウトシステムである Autosizing を置き換える目的で導入された機能です。 Auto Layout は、込み入ったレイアウトを表現することが出来る一方、従来からのレイアウトシステムである Autoresizing 程単純ではないため、取っ掛かりづらいと感じる方も多いのではないかと思います。また、Xcode 4 の Auto Layout サポート機能がお世辞にも使いやすいとは言えないものであったことが、取っ付きにくさに拍車をかけていました。 iOS 7 のリリースに合わせて新しくリリースされた Xcode 5 では、Auto Layout サポート機能が大分使いやすいものになりました。そこで、何回かに分けて X
iOS 6から導入された Autolayout(オートレイアウト)を最近になって本格的に使うようになりました。 4-inch の iPhone が主流になりつつある中、アプリを Autolayout に対応させるのはほぼ必須といっても良いと思います。Storyboard と格闘してなんとかコツはつかめたものの UIScrollView だけは一筋縄ではいかず苦労しました。 というわけで Autolayout に対応した画面で UIScrollView を使う時のコツをまとめてみました。 なおこの記事で説明する内容は Storyboard 上で Autolayout がオンになっていることが前提になっています。 Autolayout 対応画面で UIScrollView を使うための2種類の方法 Autolayout に対応した画面で UIScrollView を使うには以下の2つの方法があ
ということで、その本体のソース。 公開にあたって、一部書き換えたので動かなくなってたらごめんなさい。 「確認してから出せ」ッて言われそうだけど、時間がなくて。 // // saveClass.m : 全クラス内容を得る、保存する // // (C) 2014 by AIG-Soft // under Apache License /* この辺りを参照 クラスのメンバ名を文字列で指定する http://program.station.ez-net.jp/special/handbook/objective-c/id/ivar.asp オブジェクトが持つプロパティの型と名前のリストを取得する http://d.hatena.ne.jp/shu223/20120226/1330231240 クラス名を取得する http://lab.dolice.net/blog/2013/04/17/objc-
MacOSXプログラミング。毎日更新。 話題: Cocoa, Objective-C, Snow Leopard 例えばこんなクラスがあった時にプロパティの一覧を取得するにはどうするか? @interface Book : NSObject { NSString* title; NSString* author; NSDate* createdDate; float weight; } @property (retain) NSString* title; @property (retain) NSString* author; @property (retain) NSDate* createdDate; @property float weight; @end 以前紹介した StatckOverflow の記事を参考にコードを書いてみた。 How do I find all the p
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く