Swift– tag –
-
技術Tips
UICollectionViewでCollectionViewLayoutを変更しようとすると落ちる
UICollectionViewでsetCollectionViewLayout(_:animated:)でレイアウトを変更しようとしていたところ、以下のエラーで落ちてしまった。 2017-07-31 11:57:49.110 CollectionViewLayout[3621:83128] *** Terminating app due to uncaught exception 'NSInva... -
技術Tips
DateFormatterをstaticに定義してパフォーマンスを改善する。
DateFormatterはコストがかかる。 だから、for文とかで、何回も生成していると、とても遅くなる。 ってことで、staticに定義して、使いまわそうというお話。 extensionで。 [crayon-673f0188c505f860079545/] で、注意したいのが2点。 localeに"en_US_POSI... -
技術Tips
SwiftのDictionaryのvalueにArrayを指定して、appendしたときのパフォーマンスがすごく悪い件。
Swiftで、valueがArrayとなっているDictionaryに対して、そのvalueにappendしたときのパフォーマンスがとても悪かった。 ...どういうことかというと、例えば、 [crayon-673f0188c539a582352935/] という、keyはStringで、valueにIntの配列を持つscoresに対... -
技術Tips
UITextFieldに余白(パディング、マージン)をつける【一時しのぎ版】
UITextFieldに余白(padding、margin)を持たせるには、カスタムクラスをつくって、オーバーライドすればすぐできる。 でも、ちょっとめんどくさくて、もっと一時しのぎ的にやるやり方ないのってときの対処法。 下図のように、UIViewでUITextFieldを包んで... -
技術Tips
UITextFieldに余白(パディング、マージン)を持たせる【正攻法】
UITextFieldに余白(padding、margin)を持たせるやり方。 やり方は、UITextFieldを継承したカスタムクラスを作成して、必要なメソッドをオーバーライドする。 カスタムクラスとか使いたくない場合はInterfaceBuilderでがんばる方法もある。 手順 1.「New ... -
技術Tips
iOSアプリのパフォーマンス解析をしていたら、nibのロードが遅くて、原因はカスタムフォントだった件。
iOSアプリのパフォーマンス解析をしていたら、nibのロードが遅かった。原因は、正しくインストールされていないカスタムフォントをInterfaceBuilderで指定していたことが原因だった。 コードは、カスタムViewをつくるときの定石だと思うが、以下のようにni... -
技術Tips
CorePlotでプロットの重ね順を指定する
CorePlotにて、複数のプロットがのっている場合のプロットの重ね順を指定したときのメモ。 CPTPlotクラスがもっている、zPositionに適切な値を設定することで対応。 [crayon-673f0188c578d313170935/] 各値の部分は、以下のように同じswiftファイル内にstr... -
技術Tips
UITableView、UITableViewCellに枠線をつける。
UITableViewに枠線をつける方法を、いくつか紹介します。 その時々で、適切なやり方を選択すれば良いと思います。 1.普通に、標準の枠線を使う。 UITableViewに標準でついている枠線を使います。 標準で済むのなら、それに越したことはない。 2.背景を枠線... -
技術Tips
CorePlotのサンプル:X-Yグラフ(散布図)の最低限の実装
CorePlotで、X-Y座標系に散布図を描画させたいときの、最低限の実装。 完成形はこんな感じ。 ViewControllerのソースコードは最後に貼っています。 UI側の実装 1. InterfaceBuilderでグラフを持たせるViewである、CPTGraphHostingViewを用意する。 UIView... -
技術Tips
CorePlotで軸ラベルをマニュアルで設定する
CorePlotで軸ラベルをマニュアルで設定やりかた。 ラベルのテキストとロケーションを設定する場合と、ラベルを表示させたいロケーションだけ設定する場合のやりかたをご紹介。 やりかた1:ラベルのテキストとロケーションを設定する場合 例えば、x=3の位置...