2021-05-01から1ヶ月間の記事一覧
最近React入門したので、Webフロント周りも記事にしていこうと思います👷♀️ 結論 JSXで下記のようなものを書いてたら、エラーに出くわした。 public render() { return ( <div> hoge </div> <div> hoge </div> ) } Parsing error: JSX expressions must have one parent element ど…
Cloud Functionsとは? Cloud Functionsは、Firebaseプロジェクトのデータベース(Realmtime Database or Firestore)でのイベントやHTTPSリクエストなどをトリガーにバックエンドのコードを自動的に実行するための機能です。また、トラフィックが増えた場合に…
next.jsにサンプルがあるので、これを使っていきます! github.com まずは、サンプルをインストールします。ちなみにAPP-NAMEは、よしなに変えてください。今回はnpmで作業します。ちなみにyarnがない場合は、yarnpkg install has failed.的なエラーが出るの…
結論 下記のようにKVOでcontentSizeを取得することができます。ちなみにこの状態で返る値はObservable<CGSize?>になります。 scrollView.rx.observe(CGSize.self, "contentSize") // Observable<CGSize?> 今回は、heightのみでいいのと、アンラップした状態で値をリッスンした</cgsize?></cgsize?>…
結論 そのまま、取得したViewのsystemLayoutSizeFittingで、StackViewのAutoLayoutが反映されると思ったら、そんなことはなかった。 let v = CustomeView.instantiate() v.frame = .init(x: 0, y: 0, width: UIScreen.main.bounds.width, height: v.systemLa…
### 結論 まずはItemDecorationのサブクラスを作成。getItemOffsetsメソッドで、それぞれのItemのオフセットをポジションなどによって調整します。 class GridSpacingItemDecoration( private val spanCount: Int, private val spacing: Int, private val in…
本日から30Cと題して、30分で使ったことのない技術について超ざっくりとキャッチアップする連載をして行きたいと思います ということで、1回目は 「Firebase Dynamic Links」 から!実際に使ってみたら、また記事にします。 そもそもディープリンクとは? …
結論 iOS11からScrollViewの領域がsafeArea分の余白がデフォルトで追加されます。(完全に忘れてた) 結論から言うと、この余白を追加しないようにするためにはcontentInsetAdjustmentBehaviorで.neverを選択します。 scrollView.contentInsetAdjustmentBeha…
久しぶりに、UIPageViewControllerを使ってたらうっかりミスに悩まされたので、後世に記事を残しておきます♀️ 結論 おそらく、あなたがそのエラーになっているのは、setViewControllersで複数のViewControllerを設定しているからでしょう。` setViewControl…
本日もiOS初学者向けのTipsです♀️ 結論 User defined runtime attributesでlayer.cornerRadius項目を設定することで、コードベースからでなく、Interface BuilderからcornerRadiusを変更できるようになります。 ちなみにIBInspectableで下記のようにプロパ…
iOSのUICollectionViewのようなグリッドレイアウトをAndroidでどのように作るのか分からなかったので簡単にメモを♀️ 結論 RecyclerViewを使って、グリッドレイアウトを構築できるようです。 ということで、早速使ってみます。 まずは、Fragment内にRecycler…
npm初心者なのでエラーをメモしておきます 今回npm install実行時に発生したのは下記のようなエラー。 npm ERR! code ENOSELF npm ERR! Refusing to install package with name "react-router" under a package npm ERR! also called "react-router". Did yo…
結論 iOSのUIScrollViewや、それを継承したクラスなどではお馴染みの、コンテンツの上下左右のスタート地点のスペースを設定するcontentInsetは、Androidではpaddingになります。 ですので、RecyclerViewのTopの開始地点を60dpずらしたいと思った場合は下記…
結論 まず、前提としてアスペクト比で制約を追加したいものはLinearLayoutなどではなく、ConstraintLayoutで内包する必要があります。 あとはlayout_constraintDimensionRatioでアスペクト比を設定すれば完了です。アスペクト比の指定は"幅:高さ"の順番です…
Figmaで特定のFrameをシェアする方法が分からなかったのでメモしておきます 結論 Frameを選択した状態で、右上のShareボタンをクリックすることで、特定のFrameを指定してファイルをシェアできるようです。 てな感じで本日も以上となります その他の記事 yam…
結論 下記のようにして、AutoLayoutの制約などに基づいたViewのサイズを取得することができます。 ちなみにUIView.layoutFittingCompressedSizeは、UIViewのクラスプロパティで、可能な限りサイズを小さいサイズを返します。ここでは、制約内で最も小さくな…
Signpostsでとりあえず、メソッドの計測をしたので、本日はそのメモです♀️ やっていく まずは、計測するために必要なモジュールをインポートします。 import os.signpost 次に、計測したいメソッドを下記のようにマーキングします。今回はbind()というメソ…
結論 レイアウトファイルにて、android:singleLine属性をtrueに設定することで、テキストを折り返さず、省略した表示になります。 android:singleLine="true" ちなみに、デフォルトだとこんな感じで、iOSのUILabelの省略形式と同じ感じになります。 省略方法…
結論 before after Buttonのスタイルにstyle="?android:attr/borderlessButtonStyle"を設定することで、Buttonの影を消せるようです✍️ style="?android:attr/borderlessButtonStyle" 参考 https://www.ithack.info/button-7/ その他の記事 yamato8010.hatena…
結論 RxKotlinの場合はdoOnErro()オペレータを使って、ストリームにErrorが流れた時をトリガーに処理を実行することができます。下記の例では、Firebase上でユーザを作成する際に、Errorハンドリングとして、AuthのcurrentUserを削除するようにしています。 …
〇〇の処理をした時に、AとBの異なる型の値を返したい!という時ありますよね。Swiftでは下記のように、シンプルにタプルで返せば良かったのですが、Kotlinではこの書き方ができなかったのでメモしておきます♀️ func hoge() -> (Int, String) { return (1, …
結論 Kotlinでは下記のように、constructor()キーワードを使うことで、セカンダリーコンストラクターとして、引数に応じてClassを初期化することができるようです。Swiftでは、init()で初期化方法を分けることができましたよね override var instagram: Stri…
本日は、Firestoreの不可分操作の一つである、バッチ書き込みを使ってみたいと思います♀️ 不可分操作(アトミックオペレーション)は、複数の操作を一つの操作として扱うことで、全ての操作が成功、又は失敗するように処理を行うことを指します。Firestoreで…
App Store Marketing Toolsで、QRコードを取得したいアプリを探します。 tools.applemediaservices.com ちなみに、下記のようにApple IDを指定したリンクでも遷移できます。 > https://tools.applemediaservices.com/app/{Apple ID} QRコードセクションで、…
Unitとは? Javaのvoidに対応する、Kotlinのオブジェクトのようです。 The type with only one value: the Unit object. This type corresponds to the void type in Java. つまり、下記のような戻り値のない関数などは、Kotlinではvoidではなく、Unitが返さ…
結論 Swiftだとguardがあるので、下記のようにオプショナル値をアンラップできます。 guard let a = optionalA, let b = optionalB, let c = optionalC else { return } Kotlinの場合は、下記のようなメソッドを作ることで、Swiftのguard let else的なことを…
イベントをenumに変える便利なオペレータがあったことを最近知ったので、メモしておきます👷♀️ reactivex.io .materialize() .materialize()は、ストリームに流れる各イベントを、それぞれEventというenumに変換します。 @frozen public enum Event<Element> { /// Nex</element>…
今回はとりあえずKotlinでUnitTestをするための爆速記事です。 結論 とりあえず、UnitTestを行うために下記をGradleファイルに追加します。 testImplementation 'junit:junit:4.12' testImplementation 'androidx.test:core:1.0.0' testImplementation 'org.…
認証でSign in with Appleを使っているアプリを申請したら、下記のようなリジェクトをされました。 We discovered one or more bugs in your app. Specifically, the app displayed an error message when e attempted to sign in with Apple. ちなみに、下…
App Store Connectのページから、リジェクトが発生していない場合に、問題解決センターに遷移する方法がわからなかったのでメモしておきます♀️ 結論 App Store Connectのページから、UI上から遷移することはできませんでしたが、Apple Developer Account に…