コベリンの最近の取り組みとして、業務などで役立ちそうな知見を共有する会を開催することになりました。 そのついでに発表に使ったアジェンダもそのまま公開してしまおうという豪快な企画です。
※ アジェンダをそのままコピペして公開したものなので若干見にくい箇所もあるかもしれませんが、ご了承ください。
最近の知見 @mironal
yaml の list は merge(join)できないけど、 xcodegen だとできる
yaml の map はマージできる.
しかし list(array)はマージできない. 議論はされているが今はできない。
でも xcodegen で dependencies
の配列を2つの target で共有したかった。一方の target にだけ追加すべき dependencies
があった。
どうするか?
XcodeGen の Target Template を使う.
XcodeGen では HogeTemplate という機能が色々あるが、どれも map だと merge、 list だと join する動きになっている。
よってコレを使うことで共通の dependencies
だけ定義した Template を作っておけばやりたいことができる。
使う側 target 側は複数の template を指定できるので template を細かく分けておくこともできそう。
mac の複数ファイルのリネームの話
こんなファイルたちがあるとき
一部の文字列を置換
_
→-
にするとかimage
→img
にするとか
Prefix or Suffix を追加
連番にする
Charts、Androidで出来てiOSでできない問題多い... @takkumattsu
前回のChartsで角丸したい...に続き新たな問題を対応したので展開
角丸させた棒グラフを含む複合グラフを表示させたい
複合グラフで角丸対応するはCombinedChartRendererを設定するのだがその設定がうまく出来ない。
理由はCombinedChartRendererのsubRenderersに外からrenderersを設定できそうなIFになっているが、dataセット時にcreateRenderersが呼ばれ初期化されてしまいうまく動かない AndroidはcreateRenderersが公開されていてカスタムできるのでこんなことをする必要はないけどiOSは出来ないのでCombinedChartRendererを継承して対応する必要があった
複合グラフの角丸対応
https://gist.github.com/takkumattsu/36c1acb5a2dd8fc0c500b125d2872553
let render = CustomCombinedChartRenderer(chart: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler) let newRenderers: [DataRenderer] = [ CustomBarChartRenderer(dataProvider: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler), LineChartRenderer(dataProvider: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler), CandleStickChartRenderer(dataProvider: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler), ScatterChartRenderer(dataProvider: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler), BubbleChartRenderer(dataProvider: chartView, animator: chartView.chartAnimator, viewPortHandler: chartView.viewPortHandler)] render.customRenderers = newRenderers
グラフの開始メモリ、終了メモリを設定すると棒グラフが表示されない
何も設定せずにグラフ表示をするとX軸のグラフの開始は一番左端から一番右端になる
左右にスペースを開けたいと思った時は axisMinimum
axisMaximum
を設定することで変えることができるようになっている
しかしaxisMaximumを設定すると
となってしまう。本当は↓としたい
調べるとissueが上がっていて https://github.com/danielgindi/Charts/issues/4819 ライブラリの中を修正しないと直せないぽくてPRがでている https://github.com/danielgindi/Charts/issues/4819
ただ何故かこのPR本家に向けられていなくてマージはされなさそう...
利用する場合はforkして使うしかないという悲しみ
Chartsについて
ChartsはAndroidのMPAndroidChartと同じ仕様で動かせるチャートのライブラリで確かにIFとかは同じ感じで使えるのだがちょいちょい挙動が違ったりするのでハマるポイントが多かった...
グラフで表現できるものはいっぱいあるのでいいライブラリではあるんだけどね...