Mac

macOS Sierra にフォントRictyを入れた

手順の大枠はhttp://www.rs.tus.ac.jp/yyusa/ricty.htmlの通り 1. fontforgeのインストール $ brew install fontforge 2. 使用するフォントをインストール inconsolataのインストール https://fonts.google.com/specimen/Inconsolata GoogleのページなのでAndroidっぽいUIだなって思いました。緑の枠を順にクリックするだけでダウンロードできます。 ダウンロードが完了したらzipファイルを展開してFont Bookにインストール。 3. Migu 1Mフォントのインストール http://mix-mplus-ipa.osdn.

objc

Date型の比較@ObjC/Swift

Date型の比較をするとき、多くの場合は"2016-12-09"とか"2016-12-09 10:00:00+0900"とか、年月日か年月日と時分秒までの比較が多いのかなと思いますが。 Objective-C -[NSDate earlierDate:]と-[NSDate laterDate:]が使えるので、挙動を理解していればそれがラクかなと思いますが、可読性を考えると[NSDate compare:]で比較した方がわかりやすいときもあるかもしれない。 -[NSDate earlierDate:]と-[NSDate

ios

iOS10ライフサイクル

先日Xcode8のフレームがどうのって記事を書いたんですけど、そんなことよりライフサイクルだな。と思ったのでシーケンス図風のものを書き出しました。png貼ってますがサイズ大きめです。参考程度に。上から下へ処理が進んで行きます(意味わかるよね? 今回使ったアプリ 確認した内容はこんな感じ + AppDelegate | | | + UINavigationController | | | +-+ UIViewController | | | +-+ UIView(UIViewController.view | + Notification Storyboard使って、画面遷移などはしていないです UITabBarControllerも使っていないです(ライフサイクルが結構かわるのですごく長くなるから 起動 その他バックグラウンド/フォアグラウンドなど その他 バックグラウンドに移行する ≠ フォアグラウンドではなくなる(アプリが見えなくなる) バックグラウンドに移行したかどうかは didEnterBackground でしか判断できない UIApplicationXXXなステータス変更のNotificationはAppDelegateのメソッドが呼ばれた後で最後に通知飛ばされてるみたい

ios

Xcodeでコードを書かずに角丸のボタンを作る

タイトルの通り、プログラムらしいことをしないで角丸ボタンを表示する 手順 角丸画像を用意する XcodeのAssetに画像を追加する 画像のスライス設定で可変領域を設定する 角丸画像を表示したいボタンの背景画像(Background image)に設定する コードで実装する 覚えてたら後で書く その他 動画のアップロードがイケてない。youtubeとかじゃないとうまくいかないのかも。

ios

iOS8,9の違いを幾つか その1

次があるかわかりませんが、その1。 UIView Class 再描画でよく使われるメソッド - (void)layoutIfNeeded; 深度が違うようです。iOS9だと再帰的に適応されるようですが、iOS8だと深度が1か2か。 再描画されないなーということがありました。 気づいた時はframeの変更をしようとした時でした。 NSLocale Class - (NSArray<NSString *>*)preferredLanguages 出力する。 NSLog(@"%@", [NSLocale preferredLanguages]); iOS8系 ( ja, en, "zh-Hans"

python

Pythonのエンコードを宣言する

Pythonでファイルのエンコードを宣言するとき # -*- coding: utf-8 -*- こういった内容を記載する人が多いと思いますが、自分にはこの記法には疑問がありました。 なぜEmacsを使わない人たちがEmacsのエンコードを宣言をするのだろうか。 会社ではEmacsを使うのは自分だけなので、もしかしたらこの記法がPythonのエンコード宣言だと思っているのかもしれません。 Vimではこう書く(らしい)です(Vimはほぼ使わないので知りません # vim:fileencoding=<encoding-name> Pythonのリファレンス 英文 If a comment in the first or second line of

program

Xcodeでメソッドにコメント書く

コメントは大事 例えばこんな感じで書くと色々と便利。メソッドだけじゃなくてプロパティとかただの変数でもいい。 /** @method increment: @param i NSInteger 数値 @return 引数iをインクリメントして返す 引数iをインクリメントして返すお仕事 */ - (NSInteger)increment:(NSInteger)i { return ++i; } 気をつけること コメントは/*!ではなく/**で始めた方がいい。Swiftで/*!が無視された(今は違うかも? 説明を書くときは空行を入れる、もしくは@discussionを使う この2つくらい。 使い方 コメントを書いたメソッドをクイックヘルプ(オプション+

objc

iOS用にユニバーサルライブラリを作る

BlocksKitをフレームワーク化した iOS8対応のためBlocksKitをフレームワーク化したログ。 ソースコードのまま組み込むとかイヤなのでよく外部のライブラリはフレームワークにしているのでメモ。 手順 ダウンロードからビルドまで github から最新ソースコードをダウンロード ターゲットをBlocksKitにしてiOS Device用Releaseビルド ターゲットをBlocksKitのままiPhone Simulator用Releaseビルド OrganizerでBlocksKitのDerived Dataディレクトリ右の->をクリックしてFinderに表示 以下コマンドライン ターミナルのログからひっぱり出したコマンドなので間違ってる可能性は否定できない。 $ cd <Derived Data Dir> // FinderからD&Dでpathが貼り付けできるのでそれがらく) $ xcrun lipo -info ./Release-iphoneos/libBlocksKit.a Architectures