SceneKitはUIViewやCALayerでは難しい3Dやパーティクルの表現を非常に簡単に使用できるフレームワークです。 「3Dモデルのレンダリングなどで使用するフレームワークだから私には関係ない」 「AR系のアプリ開発に携わっているわけではないので使用する機会はなさそう」 このように…
こんにちは。新規サービス開発部の中村です。普段は「たべドリ」アプリの開発をしています。「たべドリ」は料理の学習アプリです。詳細はこちらの記事をご覧ください。本記事では UICollectionView でページングスクロールを実装する方法について解説します。 概要 上記画像が今回解説する iOS アプリのUIです。左右のコンテンツが少し見えているカルーセルUIで、以下の要件を満たすものです。 先頭にヘッダーを表示する セルが水平方向にページングスクロールする 色々な実装方法があると思いますが、今回はヘッダーがあるため複数の異なる幅のViewを表示させながら、ページングスクロールを実現する方法を解説します。実装のポイントは以下の2点です。 UICollectionViewFlowLayoutのサブクラスを作成しtargetContentOffset(forProposedContentOff
Mercari Advent Calendar 2017 の4日目はソウゾウiOSエンジニアのorakaroがお送りします。 ソウゾウ社はメルカリグループの新規プロダクトを多数開発していますが、ほとんどのiOS版アプリでリアクティブライブラリのRxSwiftを採用しています。RxSwift 4 / RxCocoa 4にいくつか新しいクラスが実装されましたので、そのクラスの実装を覗きながら紹介します。 今回紹介するクラスは Signal, PublishRelay, BehaviorRelayです。 RxCocoa をよく使っている方はご存知だと思いますが、UIレイヤーのリアクティブプログラミングのためにDriverという Trait が提供されています。 SignalはDriverに近い物ですが、SharingStrategyだけが異なります。サブスクライブされる時にDriverは一回re
2. 自己紹介 • Twitter: @_mono, Facebook: mono0926 • みんなでつくるスポーツニュースアプリ『Player!』 • 先月リリースして日々アップデート中 • LINEクリエイターズスタンプ作って販売中 • http://bit.ly/love-stamp • 昨年6月からずっとSwift触ってます 3. 一部の画面だけ回転(ランドスケープ表示)を 許容させるのつらい • 全部許容 or 一部の画面だけ非許容は簡単 • Stackoverflowやブログなどで色々情報あるが、 それぞれ苦労している感があるし、画面構成に よってはうまく動かなかったりでつらい • カテゴリ拡張でオーバーライド もどきする方法微妙(後述) 4. 愚直な方法 • AppDelegateのsupportedInterfaceOrientationsForWindowにて縦横許容 •
今日は、iOSエンジニアの@orakaroです。 iOSエンジニアの皆さん、iPhone Xの対応はいかがでしょうか? メルカリアッテはようやくSwift4/RxSwift4/iPhone Xの対応が落ち着いたところです。 このブログでは、10月11日に開催した Souzoh iOS Talkの中で発表した メルカリ アッテを支えるオートマトンについて、より詳細な内容をお伝えします。 当日のスライドは下記になります。 speakerdeck.com 会員登録フロー 会員登録フローを実装する時に、以下のような基本的な機能を実装することがあります。 メールアドレスとパスワードで登録できること メールアドレスとパスワードでログインできること Facebookで認証(登録、ログイン)できること パスワード再発行できること さらに、メルカリ アッテのようにセカンドパーティーのアプリなら、メルカリ連携
こんにちは、サービス開発部の氏です。 主にiOSのクックパッドアプリの開発を担当しています。 UICollectionViewLayout みなさん使ってますか? UICollectionView でレイアウトを組む際、実際触り始めると実装するための選択肢が複数あり、どれが最適なのか悩ましい場面に遭遇する人もいるのではないかと思います。 今回は、自分が業務で触れた際に得た知見について軽くお話したいと思います。 UICollectionVIewLayout とは UICollectionView は Cellのサイズや余白等のレイアウトを管理するため、プロパティとして、 UICollectionViewLayout を所持しています。 この UICollectionViewLayout に手をいれることによって、レイアウトを好きな形に変更することができます。 レイアウトを組み立てるときの複数
iOSアプリ開発者の皆さま、もう「Swift」でアプリを開発していますか? 登場した日から一年以上たち、今はバージョン2.0のベータ版まで出ているプログラミング言語Swift。初期はコンパイルの遅さや不具合の多さが目立ったのですが、最近はその辺りの問題が解消されて非常に使いやすくなってきています。 そろそろ、ぜひ移行をお勧めしたいのですが、既存のObjective-Cアプリを移行するのはなかなか大変な面もあると思います。チームで開発している場合は自分以外の開発者や関係者へ周知するコストも掛かりますし、Swiftへ移行する際のトラブルを思うと、いろいろな不安がつきまとうでしょう。 本稿では、そういった不安が少しでも解消されるように、アプリ開発のプログラミング言語をObjective-CからSwiftへ移行するメリットや手順、注意点など勘所をまとめて紹介します。 なお本稿は、SwiftやObj
このエントリーは読者としてスマートフォンアプリ開発者とWebフロントエンドエンジニアを想定して書いています。 CROSS2016に出るので、最近の自分の考えを整理しておく。 最近ReduxのSwift実装であるReSwiftを使って開発している。使った感想なども最後の部分に書いたけれど、このエントリーの本題はアプリの状態管理の話。 アプリは大きなシングルトン iOS、Android共にアプリを実装しようと思うと大抵シングルトンが必要になる。各ViewController内をまたがってデータを共有したいというユースケースが多いからだ。例えば ユーザーのログイン情報を集約するUserManager コンテンツへのいいね情報を集めるLikesManager ブックマーク情報を集めるBookmarkManager などなど。もちろんアプリの内容によってこれらの顔ぶれは違ってくると思うけれど、大抵U
SwiftでOptional値をunwrapするときに一番使う if let 構文。 そのときの変数名の扱いについてみなさんはどうしているでしょうか。 if let Swiftで導入されたOptional、このOptional変数をOptionalではない変数にする unwrap 処理として一般的なのが if let 構文です。 下記のコードでは、aはInt?型なのでIntまたはnilが入っているので、実際にこのなかの値を判定する時には、if let構文でunwrapする必要があります。 let a : Int? // (change a value) if let b = a { print("a : \(a)") print("b : \(b)") } 上記のようにif letすると、 a はInt?型、bはInt型となり、aをunwrapしたものがbとなりますね。 さて、この場合、み
この記事は Goodpatch Advent Calendar 2015 3日目の記事です。昨日は @daichi_ito の今日からはじめる命名戦略でした。 GoodpatchでもSwiftを使うことが増えてきました。僕自身、今年5月に入社して以来ずっとSwiftを書いてます。今日はSwift2で新しく追加されたprotocol extensionを使って、mixin的なものを実現する方法を紹介します。これを上手く使うと、コードの再利用が柔軟にできて便利です! protocol extensionとは? protocol(インタフェースの定義)を拡張し、メソッドの実装を追加できる機能です。 protocol MyProtocol { func hoge() } extension MyProtocol { func hoge() { print("hoge") } } class MyC
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く