Objective-C

iOS 8 beta の AssetsLibrary のバグとその対処法

iOS 8 では、写真を削除しても30日以内であれば元に戻すことができる機能 (Recently Deleted アルバム) が追加されました。 この機能の影響なのか、iOS 8 beta では ALAssetsGroup の numberOfAssets が正しい数を返してくれないバグ(?)が発生しています。 i…

「ログイン時に起動」を実装する (2)

以前書いた 「ログイン時に起動」を実装する で AppleScript を使った方法について紹介しましたが、実はこの方法を使うと MacAppStore への申請で Reject されてしまうことがわかりました。 (コメントをくださった id:anton0825 さん、ありがとうございます)…

Objective-C で大文字・小文字の判別

NSString には upperCaseString と lowercaseString というメソッドがあり、文字列をそれぞれ大文字・小文字に変換することができます。 では文字列が大文字か小文字かを判別するにはどうすればいいのか気になり調べてみたところ、C の標準ライブラリ関数に …

「ログイン時に起動」を実装する

2014/08/13 追記 AppleScriptを使った実装が MacAppStore の審査で Reject される件について書きました。 「ログイン時に起動」を実装する (2) Mac アプリを使っていると、よく「ログイン時に起動 (Launch at Login)」という設定項目を目にします。 とても便…

QBImagePickerControllerを書き直した

iOS用のイメージピッカー QBImagePickerController をアップデートしました。 QBImagePickerController は UIImagePickerController のクローンで、複数の写真を選択できるピッカーです。 iOS 7 がリリースされて見た目が古くなっていた上にレイアウトのズレ…

オープンソースの曇りガラス風ビューをいろいろ試してみた

iOS 7 といえばあの淡くぼけた曇りガラス風のビュー。 さっそく自分のアプリに取り入れたいと思っている方もいるかと思います。 そこで、今回は曇りガラス風のビューを簡単に使えるようにしてくれるオープンソースのライブラリを紹介したいと思います。 iOS-…

カスタムなウィンドウを表示した状態でNSStatusItemをハイライトする

NSStatusItem は、その名の通りメニューバー (ステータスバー) の要素を表すクラスです。 Mac にはメニューバーに常駐するアプリがたくさんありますが、そのメニューバーに画像やビューを表示させたいときに NSStatusItem を使います。 // ステータスアイテ…

UICollectionViewDelegateにwillDisplayCellを実装しようとした結果

あらまし タイトルの通り、UITableViewDelegate の tableView:willDisplayCell:forRowAtIndexPath: と同じものを UICollectionViewDelegate にも実装したかったのです。 なぜそう思ったのかはよく覚えていません。 実装 GitHubに置いてあります: questbeat/U…

UICollectionViewでのセルの再利用

UICollectionView ではあらかじめセルのクラスを登録しておくことで、再利用可能なセルがない場合に新しく作成したものを返してくれるようになっています。 そのため dequeueReusableCellWithReuseIdentifier: が nil を返しません。 - (UICollectionViewCel…

FlatUIKit

FlatUIKit は Flat UI フレームワークを元にデザインされた iOS 向けのコンポーネントライブラリ。 フラットなデザインのアプリを簡単に作ることができる。 Button、Switch、Segmented Control などの基本的なコンポーネントはすべて用意されている。 さらに…

Core Dataのモデルにメソッドを持たせる

今日 Qiitaで見つけた投稿がためになったのでメモ。 Core Dataにrailsのmodelみたいに自分で定義したmethodを作成する http://qiita.com/items/d8d66ace518b25635e4e Xcodeでは Editor > Create NSManagedObject Subclass... を選択すると .xcdatamodeld 形…