備忘録
- access token
- access token2
- ipynbからhtml生成できるの初めて知ったわ、説明しやすいやん
- 2値モーダルは、「はい」のときはデリゲートメソッドよんで、「いいえ」のときはdismissだけするようにすればテンプレとして利用できる
- かどまる
- 角丸の場所を指定する
- 画像のinsetsがある
- 文字色は
titlefortext
- UIImageをURLで初期化するextension
- Nukeはまじで楽
- UIImageの画像の色は、レンダリングモードというモードで登録することによって、動的に変更することができる。レンダリングモード一覧、使用例
- これでPrimaryColorとかで色を共通化することができる。
- レンダリングモードはassetsのインスペクタからも指定できる
- swiftygenでassetsに画像ぶち込んだら、自動でコード生成してくれるようにできる。
named: ""
のところのタイポ防止できる
- distributionはcssでいうjustifyContentみたいなやつ。**揃えとか、両端とか
- UIViewを継承しているので、UIGestureRecognizerが利用できる
- 正方形のラベルを円にするextension
- ラベルの文字に取り消し線をひく
- セクションとセルの関係は、2次元配列に対応している。
- 右のバツボタンはclearButtonという
- モデルの情報を全てセル側の変数に読み込んであげると、後々楽
- カスタムセルのidentifierを管理しやすくする
- scrollViewDidScrollで、UICollectionviewとかtableViewとかをスクロールしたときのイベントを取得することができる。
- めちゃめちゃ連続的に呼ばれる
- ラベルの付いたスイッチ
- (↑の補足) LabelSwitchの大きさは、文字の大きさに比例している。
- UISwitchにラベルを入れることは容認されていないらしい→apple公式
- インスタンス化の拡張機能
- コード遷移まとめ
- ハーフモーダルpresentしたときに真っ黒になってしまう問題
- ↑コードでやるならこう
vc.modalPresentationStyle = .overCurrentContext
- いつもは直列で順番に処理してるけど、GCDで並列にしたり非同期にしたり調整できて、最適化してくれる。
- mainは直列で、globalは並列。privateはカスタムなのでどちらにもなる。
- 並列のイメージ:順番通りにキューに追加しても、順番通りに出力されない感じ
- 重い処理globalとかprivateとかにぶちこんで、その中でUIの処理だけmainにうつせばイイ感じになる
- 参考文献1
- 参考文献2
- 参考文献3
- constantsはenumで定義すると良い(enum VCTypeみたいな感じにして、VCTypeに応じるプロパティを出力できるようにする。タイトルとか。)
- JSONEncoder(マジでクソ便利なものを作ってしまった、、)
- 現在日時(時刻)の取得
- CGRect = CGSize + CGPoint
- →それぞれをViewに対して使用した例
- tableViewのヘッダは、HeaderFooterViewでカスタムできる話
- 小さな機能の実装を積み重ねていくと、修正箇所が明確になりサクサク作れる
- リストのうち値が0のものを抽出する、みたいなことはfilterでできる
- 下から出てくるのは総称してアクションシートと呼ぶ。SNS共有とかUIAlertViewControllerのやつとか
- ctr + 6 でモジュール内のプロパティ一覧が見れる
- 当たり前かもだけど、viewDidLoad()はtableViewのデリゲートメソッドよりも早く呼ばれる。←そういうわけではないかも
- 青いフォルダはフォルダー参照で、黄色はグループ。参照型と値型みたいなイメージ。他プロジェクトからコピペするときにどちらかを選択できる
- 非表示したときに詰めたいときは、constantをiboutletしてheightを0にしたりすればよい
- uiStackViewはuiVIew継承したやつなので、UIGestureRecognizerつけれる
- guard let a = nil else { return }はfalseになるので抜け出す
- ファイル名は取得できる
- clipToBoundsでviewの外側に飛び出したやつを切り取ることができる
- enumはallCasesで全部のとおり取得できる
- クラス名取得
- 赤や黄色の行は「静的コード解析」によるもの
- 右下のコンソールはビルド時のセッションのときだけ機能する。2回目以降のタップによる起動には機能しない。
- クロージャー内でselfを強参照するとメモリリークしそう
- notification centerは値をくることもできる
- UILabelでもawakeFromNib()をオーバーライドすれば、ストーリーボードから来たやつでも、描画後に任意の処理を行うことができる。
- protocolを定義するときにはAnyObjectを継承することが推奨されている
- 便利UIパーツ
- UI改修のためのヒント
- コンポーネントで共通化できる。
- アイデアは書き起こした上で取捨選択をすることで、改善させていく。
- クライアントの知識に合わせて、直感性を調整する
- ふわっとしているように思えるけど、実は結構論理的。「なぜこのデザインにしたか」は説明できるようにしないといけない。
- 5とか10とかインプットして、50とか100とかアウトプットして、そこから取捨選択していく。
- UISwitchは「動作」ではなく「状態」のイメージ。(apple公式ドキュメントより)
- どういう問題に対してアプローチするかチャント言語化する
- MVVMで簡単なアプリを作る
- ios設計パターンを読む
- MySQLとアプリの接続
- 自作API(rest)←ハッカソンで実現した!
- デザイン全般を体系的にやりたい
- gitを体系的に学習
- リーダブルコードを読む
- mixi iOS研修
- ICカード
- rxswift
- 拡張機能
- 駅すぱあとAPIを使って個人開発。リファレンス全然なくて申請とか大変そうだけど
- redux