雑ですみません、iOSDCへ参加した際の雑多書きです。
内容に需要があればもう少し綺麗にします。。。
-
Handing rich text in swift
-
デザイナーの要望とできることで違いが出て、とかのやりとりが起こる
-
Textkit
-
高速なモダンテキストレイアウトレンダリングエンジン
-
coretextで作られている
-
uikitと統合
-
UILabelを使えばtext kitを使ってるってことになる?
-
ヒラギノとシステムフォントで文字の大きさが変わる
-
英字が大きくなる
-
-
ヒラギノ指定
-
文字が一部切れるとかが起こる。文字の高さも違う。
-
-
行の高さ
-
フォントが持っている
-
Font metricsで色々説明。フォントの構成。ここを見て、行の高さをどうするかレンダリングしている
-
ヒラギノは特殊なmetrixを持っていて、上下が狭くなる。それによって欠ける
-
iOSの日本語フォントはだいたいこんな感じ
-
-
対応
-
上下にDescantを補う
-
ちょうど2倍にするといいらしい。
-
-
-
注意
-
ヒラギノを明示的に指定しない、システムフォントを指定する
-
デザインしようしょにヒラギノって書いてある場合、本当にそのフォントを指定したいのか、システムフォントでいいのか確認すること。だいたいシステムフォントでいいはず。
-
指定したい場合、きちんと表示されない場合があるのえ気を付けて実装する。
-
-
中国語フォントにフォールバックしたくない場合もあるかも。
-
-
-
-
描画サイズを得る
-
bandingナンチャラ
-
表示したいテキストが高さ、広さぴったりに表示できる
-
-
UITextView
-
デフォルトのマージンがある。
-
上下textcontennerincent
-
左右linefragmentpadding
-
-
ヒラギノ
-
font.leadingが高さを把握
-
-
コントロールする場合は、デフォルトのスタイルをリセットする必要がある。
-
textcontainerinsetを取り除く
-
それぞれ0をしていするとマージンがなくなる
-
-
font.leadingを取り除く
-
trueになってるけど使わない方がいい。false
-
この数値も含めて描画サイズを計算する
-
-
そうすると、コントロールがしやすくなる
-
行間の調節
-
nsattributeedstring
-
min /max のlineheightがある
-
複数のフォントサイズが複合した場合のためにある
-
-
-
-
-
-
まとめ
-
nsattributtedstring大事
-
タイポグラフィを知ろう
-
ヒラギノ本当に使うのか確認、システムフォントでいい?
-
-
質問
-
システムフォントのがヒラギノより日本語が大きい。どう対応するのか。
-
対応難しい。対応すると結構工数大きい。
-
-
デザイナーはphotoshopでヒラギノをしている。ソフト上でできないの?
-
確認し ます。iOS 9でも システムフォントが「San Francisco」なので、それをしていすれば行けそう。
-
-
-
-
-
RxSeiftは開発をどう変えたのか
-
メルカリのiosエンジニア
-
イベントストリームを抽象化
-
変化の流れ
-
observable イベントストリーム
-
uitextfield.io_??
-
-
ここのイベントはsubscribe() で受け取る
-
イベント発生ごとにobserberが実行される
-
-
bind to()
-
observer<element>に自動反映する
-
何かするたびに、何かを自動反映するとか
-
-
operator
-
observableの変化ん、絞りこい、組み合わせ
-
-
conbinlatest()
-
-
従来の方式との違い
-
rx
-
vierdidloadだけで終わる
-
水道にホースをつなぐイメージ。
-
ためておいて動作するって方法がない。必要がない。opelatorで表現出来る?
-
-
従来
-
このパターンではこっちのが読みやすい
-
バケツに美雨を入れるイメージ
-
どんどん入れていくイメージ?
-
-
イベントストリームの最新の値を保存しておき、都度取りに行く
-
テキスト、ボタンのタップと表現の仕方が違うので難しい
-
-
-
天気
-
ボタンタップ、位置情報の認可、情報取得
-
-
まとめ
-
イベントストリームを宣言的に使えるようになったので、把握しやすくなった
-
状態管理を以前よりも減らせる
-
本出します、swiftの。
-
-
質問
-
コード量は増える?減る?
-
総量は増える。でもコントローラーは減るかも。
-
-
-
-
Colectionveiw ios10について
-
プリフェッチdatasorce
-
tableviewsの方がパフォーマンスがいい。せるサイズ固定は高速。UIKitを使う場合はナンチャラしないと落ちる。
-
重い処理は、celforナンチャラでやる
-
bletlayer処理を行わない
-
透過pngとか置いたりするとき、角丸とか。
-
シミュレーターのデバッグでチェックできる。赤エリア。このエリアは減らそう。
-
透過pngファイルは使わない
-
背景入れろ。
-
-
clearcolor背景を使わない。background colorを合わせる。
-
角丸、シャドウは画像でやった方がいいっぽい。
-
-
-
reactive stream
-
FRP
-
状態の変更 data binding
-
状態の取得 data observing
-
-
FRP + MVVM
-
やってみる
-
viewmodel.valiable
-
-
reactに似ている
-
reactsは、子から親へのデータフローが大変
-
-
react + redux
-
reactの状態をreduxが管理し、テストがしやすくなる
-
状態を1つのstoreで管理
-
問題点
-
非同期処理が難しい。もともと同期処理用。
-
-
-
redux + FRP
-
理想はelmの設計に近い
-
まとめ
-
データフローってか状態
-
管理は複雑
-
react reduxから学ぶ
-
-
emlチェックして
-
FRP捨てるって展開になってきてる?
-
-
-
-
ドッグフーディング
-
全社員にアプリを配布してフィードバック
-
感想はアンケートフォームに。
-
10件しかなかった
-
でもやり方が悪い
-
-
-
方法
-
アプリ利用依頼
-
使ってみてください、じゃ使わない
-
自分にとってのメリットが見つからない
-
業務の中でその時間が割り当てられているわけではない
-
テストアプリのメリットを明確に伝える。
-
-
アプリDL
-
ADEPに参加して配布
-
既存アプリが削除されている(既存ユーザ)
-
bunddleidentifierを変更すれば大丈夫
-
-
-
フィードバック作成
-
メール、文章面倒、とかでやめる
-
フィードバックボタンをつけておく
-
スクリーンショット、フリーコメントでMYMに送れる
-
-
-
プライバシー
-
スクショ送るとIDがバレる
-
キャプチャにマスク機能
-
-
-
-
上記でフィードバックに集中してもらう
-
これでフィードバック増えた
-
1600件。
-
-
これをやったことによる変化
-
モチベーション向上。議論活発。業務の仕方の改善。
-
言いたいことを言いやすい文化に
-
-
Feedback kitをMITライセンスで公開している
-
個人的なアカウントで登録している
-
-
-
メモリ管理
-
スタックとにかく早い
-
ダイナミックにやりたい時はヒープ領域
-
-
stoaryboad
-
デザイナーがstoaryboadを作るワークフロー
-
導入
-
チームと個人、デザイナーのモチベーション
-
環境のセットアップ
-
buildできるだけでも便利
-
-
手取り足取り
-
触れあう
-
-
interfacebuilder
-
意外とわかりやすい
-
登場する要素を説明する必要がある
-
viewはシーン。view controller?ってなる
-
知ってもらえると助かる
-
-
-
auto layoutがわかりづらい
-
nslayoutconstraint
-
計算式で上手いことなるよ
-
-
intrinsic content size
-
priority
-
エラーが出るときがある
-
制約と配置があってない:警告
-
constraintと配置
-
制約の矛盾
-
制約が足りなくてレイアウトできない
-
-
-
-
adaptivity
-
dynamic text、site class、trait control?
-
-
伝えるのに3日かかった
-
iOS、androidのレイアウトを学んでもらう。結構早い期間です。
-
-
ワークフロー
-
企画される
-
デザイナーがレイアウト・デザイン決める
-
機能を実装して、雑に並べる
-
デザイナーに細部を調整してもらう
-
コードレビューをする
-
-
@IBDesignable
-
UIViewに付加する属性
-
storyboardから設定できる
-
-
前提共有
-
キーワードを共有する。ナビゲーションバー = ヘッダー。同じ言葉を使おう。
-
めちゃくちゃ汎用的なviewを作りたくなるけど、あんまりよくない
-
後で結構変えたくなる
-
-
-
UIKitについて学び直す
-
Storybookは分割する
-
コンフルクトよくある
-
デザインの調整は最後にするとか。先にマージするとか
-
-
デザイナーへ手助け
-
デザイナー忙しい。アプリだけでなくプロモーションとか色々
-
イラレで作っているらしい。画像書き出し面倒。書き出しくんツールを作ったりしてた(前は)
-
-
まとめ
-
-
mireta
-
webRTC
-
iOS、androidのSDKも出ている?
-
どうやってIPアドレスを知るのか
-
skywayサービスでいい感じにつなげられる
-
-
やり方
-
ios
-
スクリーンショットを定期的にとっておくる。2秒ごと。
-
-
ブラウザ
-
dating
-
-
-
-
swiftでjavascript
-
javascript core
-
ランタイムで動作
-
-