tableview auto layoutのcellでreloadや遷移のタイミングでscrollのpositionがずれる

kohei1218/ 2月 26, 2019/ 未分類

言葉じゃ伝えづらいので絵にしました。(力作)

こんな感じでauto layout使用した可変の、それぞれの高さがだいぶ違うcellがあったとき。
上だとAのcellは300にもなるけどBは40みたいなとき

このとき画面遷移やreloadをするとcellがずれる事案が起こりました。。(力作2)

なぜこうなる

どうやらestimatedHeightで決め打ちの高さを決めてもそこからサイズが離れすぎると起こる模様。

cellの高さを持ってあげて、estimatedHeightでそれらを…

Google Cloud Functions Emulatorの備忘録

kohei1218/ 2月 3, 2019/ 未分類

最近Firebaseでcloud functionsを使用することが多く、Cloud Functions Emulatorで試す際に毎回つまってたのでその備忘録

インストール

npm
npm install -g @google-cloud/functions-emulator
yarn
yarn global add @google-cloud/functions-emulator

インストールができればfunctionsコマンドが使用できるようになるのですがzshの方は競合してしまうので…

2018年これだけは知っておきたいiOSライブラリ31選

kohei1218/ 12月 12, 2018/ 未分類

いらっしゃいませ!
NewsPicks Advent Calendar 2018の13日目を担当する齋藤です!
普段はNewsPicksでiOSエンジニアをやりながら個人でもアプリ開発をしています。
今年は寝る間も惜しんでひたすらiOSを書いていて、6つくらいのアプリに関わりました。
その中で自分が欠かすことのできないライブラリ、使ってみたいライブラリをまとめてみます!

欠かせないシリーズ

IBAnimatable

これだけでこのレベルのアニメーションを作れるのかと驚いた。。
でも重宝…

UIActivityViewControllerでSafariを開くがデフォルトでない件

kohei1218/ 10月 17, 2018/ 未分類

UIActivityViewControllerとは

アプリでよくあるこういうやつ
詳しい使い方は
[Swift]UIActivityの使い方まとめ
を見ていただければわかると思います。

ただこの機能、デフォルトで「Safariで開く」がなくすごく不便だった・・
ほとんどのキュレーションアプリでみるからデフォルトかと思ってたらみんな自分で実装してたのか。。

実装自体はすごく簡単

まずUIActivityを継承したActivityを作成

CustomActivity.swift

ターミナルでコマンドを入力できない プロセスが完了しましたとなる

kohei1218/ 10月 12, 2018/ 未分類

タイトルの通り、ターミナルを起動してもプロセスが完了しましたとなり、コマンドを受け付けなくなってしまった。

背景

理由は明白でZsh使用中にZshを削除してしまった。デフォルトのshellをZshにしていたため何度再起動しても使えず、デフォルトのshellの変更すらできなくなってしまった。

対応

シェル->新規コマンドを選択

コマンドに/bin/shと入力

そうすると新たにshellが立ち上がるのでここでzshを入れ直してもいいがとりあえずデフォルトをbashに戻すこと…

push先でtabbarをhiddenにしたらtabbar分のスペースが残った件

kohei1218/ 8月 26, 2018/ 未分類

pushで遷移するときにtabbarを消したのだけどそのtab分のスペースが残ってしまった。

Toolbarの下にtabbr分のスペースが残ってる

解決策

bottomのConstraintsがSafeAreaについているのが原因

ここをダブルクリック

制約をSuperViewに変更

これで直った!

tableViewの並び替えで他のSectionには行かせないようにする

kohei1218/ 8月 24, 2018/ 未分類

TableViewで最初の3つのセルは並び替え不可、それ以降は並び替えできるようにしたく、Sectionを分けたが、Sectionを超えて並び替えできてしまった。

ViewController.swift
override func tableView(_ tableView:UITableView, targetIndexPathForMoveFromRowAt sourceIndexPath: IndexPath, toProposedIndexPath proposedDestinatio…

[swift]ネストしたDictionaryの取得

kohei1218/ 6月 13, 2018/ 未分類

初歩的だが備忘録てきにメモ

dictionary: {
email = “aaa@a.a”;
“first_name” = hoge;
id = xxxxxxxxxxxxxxxxxx;
“last_name” = hoge;
name = “hoge hoge”;
picture = {
data = {
height = 200;
“is_silhouette”…

swiftでHMAC SHA256署名

kohei1218/ 5月 25, 2018/ 未分類

クライアントだけでSHA256署名する方法に少しつまったのでメモ
仮想通貨の取引所のAPIを叩く際に必要なことが多いようなので誰かに役に立てれば。。

実装

こちらのライブラリを使用
CryptoSwift

cocoapodsで恒例のインストール

pod ‘CryptoSwift’

以下のように使用

var bytes: [UInt8] = []

bytes += “署名したい文字列”.bytes

let signedString = try? HMAC(key: “署名したいキー…