並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

UIStackViewの検索結果1 - 21 件 / 21件

  • SwiftUI を活用した「レシピ」×「買い物」の新機能開発 - クックパッド開発者ブログ

    こんにちは。クックパッド事業本部 買物サービス開発部の藤坂(@yujif_)です。 2020年10月にクックパッド iOS アプリで「買い物機能」をリリースしました。今回はこの新機能の開発にあたって考えたことや取り組みについてご紹介します。 買い物機能とは レシピから買い物へ 買い物からレシピへ 実は SwiftUI で作られている 技術選定の背景 1. 本番で早く検証し、サービス開発の効率を上げたい 実生活の中で使って発見を増やす UI の「作って壊し」をやりやすく 2. SwiftUI のリスクを抑えつつ導入できる見込みがあった クックパッド iOS アプリでは 2メジャーバージョンをサポート 機能・画面単位で切り分けやすいアーキテクチャ 【方針】View 層のみで SwiftUI を部分的に導入する 実装 既存のVIPER アーキテクチャへの SwiftUI の組み込み UIView

      SwiftUI を活用した「レシピ」×「買い物」の新機能開発 - クックパッド開発者ブログ
    • Xcode Previewsを用いたUIKitベースのプロジェクトの開発効率化 | メルカリエンジニアリング

      こんにちは。メルペイのiOSチームの@kenmazです。 メルペイのiOSチームでは Xcode11 で導入された Xcode Previews 機能を用いて、UIKitベースのプロジェクトの開発効率向上に取り組んでいます。Xcode PreviewsといえばSwiftUI用の開発支援機能、というイメージがありますが、実は従来のUIKitベースのプロジェクトに対しても使用が可能です。 Xcode Previews を使うことでiOS Simualtor等を起動することなく、様々な状態のビューをリアルタイムにプレビューできるため、開発効率が大幅に向上します。 またXcode Previewsが提供する強力なプレビュー機能を使うことで、Interface Builderの支援も不要となったため、従来のxib/Storyboardを用いたビューの実装から、コードによるビューの実装への移行を試みる

        Xcode Previewsを用いたUIKitベースのプロジェクトの開発効率化 | メルカリエンジニアリング
      • 配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog

        こんにちは、クライアントエンジニアのちぎら(@_naru_jpn)です。先日 配信コメントバー 〜 iOS15 で実現する新しい PiP 体験 という記事を公開しました。ミラティブアプリ上では Unity を利用して 3D のアバターであるエモモを描画しており、配信コメントバーの描画コストが大きすぎるとエモモの動きや見た目に影響しますし、画面のスクロール操作にも支障が生じます。今回は、複数の描画方法についての計算コストの計測結果と共に、配信コメントバーの描画をいかに最適化したかについて書きたいと思います。 描画の基本的な方針 配信コメントバーの全体像 前回の記事 で AVSampleBufferDisplayLayer と CMSampleBuffer に言及しました。CMSampleBuffer に表示する内容を描画する方法は、たくさんの種類があります。 画像をそのまま書き込んだり、ピク

          配信コメントバー 〜 PiP 描画パフォーマンスとの向き合い方 - Mirrativ Tech Blog
        • Kyash iOS アプリの履歴画面を SwiftUI でリファクタリングした話 - Kyash Product Blog

          こんにちは。Kyash の Mobile チームで iOS アプリを開発している id:muijp です。 Mobile チームでは、日々の機能開発の合間に生産性向上のための取り組みを行っています。この記事では、その一環として行ったリファクタリングの事例を紹介します。 Kyash の履歴詳細画面 Kyash のアプリでは、決済などによるお金の動きが以下のように履歴として一覧できるようになっています。履歴の項目をタップすると、その取引についてより詳しい情報を見られる履歴詳細画面に遷移します。 履歴詳細画面の課題 Kyash では決済以外にも送金・入金・出金など様々な操作ができるので、それによって作られる履歴の種類も多く、2021年5月にリリースした v8.0.0 の時点で22種類の履歴が存在していました。Kyash では MVVM アーキテクチャを採用しており、以下の図のようにそれぞれの履歴

            Kyash iOS アプリの履歴画面を SwiftUI でリファクタリングした話 - Kyash Product Blog
          • Reduxを使ってiOSアプリケーション開発 Reduxの基本からコードの構造まで解説

            2018年12月12日、株式会社サイバーエージェントにて「CA.swift」の 第7回が開催されました。AbemaTVやAmeba、AWAなどを担当しているiOSエンジニアが登壇し、それぞれのチームの開発ノウハウを惜しみなく語るイベント。今回は、『iOSアプリ設計パターン入門』の著者2名を含む5人のエンジニアが、iOS開発における知見を披露します。プレゼンテーション「Redux w/ iOS」に登壇したのは、フリーランスiOSエンジニア杉上洋平氏。講演資料はこちら Redux with iOS 杉上洋平氏:みなさんこんばんは。よろしくお願いします。Reduxについて本を書かせていただいたんですけれども、その中で本に付随してサンプルコードのアプリケーションをつけているんですけれども、本日はそちらのコードについて解説したいと思います。よろしくお願いします。 まず自己紹介ですけれども、杉上と申し

              Reduxを使ってiOSアプリケーション開発 Reduxの基本からコードの構造まで解説
            • UINavigationControllerをカスタマイズ 〜OSの影響を受けづらいカスタムナビゲーションの実装〜 - クックパッド開発者ブログ

              こんにちは、モバイル基盤部のヴァンサン(@vincentisambart)です。 iOS 15とXcode 13がリリースされました。最新のiOS SDKでビルドしてみたら、カスタマイズされたナビゲーションバーに修正が必要だったアプリが少なくなかったようです。しかし、iOS版のクックパッドアプリでは大きくカスタマイズされているナビゲーションバーを使ってはいるものの、iOS 15に合わせてナビゲーションバーに手を入れる必要は特になかったです。 iOS版のクックパッドアプリは最近様々な形のナビゲーションバーを使っています。例えばおすすめタブはスクロールするとナビゲーションバーの高さが変わります。 また、さがすタブは画面によってナビゲーションバーの中身や高さが違いますし、レシピ詳細ではスクロールするとレシピ名がナビゲーションバーに入ります。 なぜiOS版のクックパッドアプリには修正が必要なかった

                UINavigationControllerをカスタマイズ 〜OSの影響を受けづらいカスタムナビゲーションの実装〜 - クックパッド開発者ブログ
              • iOSでモダンなカスタムボタンを作ってみよう - クックパッド開発者ブログ

                お久しぶりです。モバイル基盤部のヴァンサン(@vincentisambart)です。 iOS標準のボタンクラスUIButtonが10年前に作られたものであって、当時存在していなかったAuto LayoutやDynamic Typeとの相性がよくありません。 Auto Layout、Dynamic Type、複数行表示、を活用するカスタムなボタンクラスを作ってみれば少し勉強になるかもしれません。 因みにDynamic Typeはあまり使われていない機能だと思われることがあるようですが、気になって調べてみたら、クックパッドのiOSアプリのユーザーの中で、3分の1がシステム標準でない文字サイズを使っていました。その半分が標準より小さい設定を使っていて、もう半分が標準より大きい設定を使っています。「さらに大きな文字」を有効にすると選べる「アクセシビリティサイズ」を使っているユーザーは全ユーザーの1

                  iOSでモダンなカスタムボタンを作ってみよう - クックパッド開発者ブログ
                • コードを書きながら同時に設計していくためのiOSアプリ開発方針

                  ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、iOSアプリ黒帯の林 (@kazuhiro494949)です。 2019アドベントカレンダー2日目は、私がiOSアプリ開発を進めていく過程でどのようにクラス設計を行っているか紹介します。 普段の業務でなかなか理想通りに設計できないなと思っている方のお役に立てればと思います。 背景 iOSアプリ開発は、提供されているフレームワークをいかに使いこなすかという側面がとても強いです。 そのため実行結果の動きを触りながら常に試行錯誤して、心地よく動かせる実装を実現していかなければなりません。 一方、試行錯誤していく過程で記述したロジックは自然と増えていき、些細と言えないコード量になっていきます。 こういった部分ではユニットテスト

                    コードを書きながら同時に設計していくためのiOSアプリ開発方針
                  • SwiftUI チュートリアルを一通りやってみた- 前編 – | DevelopersIO

                    SwiftUIのチュートリアルを一通りやってみました。 それぞれのチュートリアルで登場した概念ややってみた感想について書きます。 こんにちは。クラスメソッド 福岡オフィス CX事業本部でiOSアプリの開発に携わっている田辺です。 先日の三連休の間にSwiftUIのチュートリアルを一通りやってみました。リリース後に一読してはいたものの手を動かしていなかったので連休の間にやってみました。 チュートリアルは複数ありますのでそれぞれについて書いていきたいと思います。 長くなったので二部構成です。 後編はこちらです。 SwiftUI チュートリアルを一通りやってみた- 後編 – | DevelopersIO どのようなチュートリアルがあるかについては当ブログで記事が公開されているのでご参照ください。 Appleの新しいUI構築フレームワーク「SwiftUI」を学ぶための教材まとめ #WWDC19 |

                      SwiftUI チュートリアルを一通りやってみた- 前編 – | DevelopersIO
                    • SwiftUI Layout System

                      Everything about SwiftUI is new. And the layout system is no exception. SwiftUI no longer uses Auto Layout, gone all of the cruft introduced over the years. SwiftUI has a completely new layout system designed from the ground up to make it easy to write adaptive cross-platform apps. I have always been fascinated by the layout systems. I built an open-source UIStackView replacement, designed a conve

                      • Sign in with Apple with Firebase AuthenticationとDelegateをRx化する話 - ペンギン村 Tech Blog

                        はじめに お疲れ様です。かむいです。 この記事はiOS Advent Calendar 2019の17日目の投稿となります。 前回は@codelynxさんの名前付き UIView と後付けストアドプロパティもどきでした。 先月Firebase AuthenticationでSign in with Appleが利用できるとの発表がありました。 firebase.googleblog.com それまでは@fromkkさんが書かれていたようなCloud Functionsを利用したやり方でも近い仕組みを実現できていましたが、やはりFirebase Authentication単体で処理が実現できるのは嬉しい限りです。 qiita.com 今回はこのFirebase Authを利用した実装の紹介だけでなく、実装の中で登場するDelegateメソッドをRx化し、RxSwiftを利用しているケースを

                          Sign in with Apple with Firebase AuthenticationとDelegateをRx化する話 - ペンギン村 Tech Blog
                        • iOS12でもXcode Previewsを使いたい! - Qiita

                          はじめに ある日、下記のような条件によって表示する項目が変わるカスタム View を修正することになりました。(実際はもっと項目が多い) final class PiyoView: UIStackView { struct Config { let isAlertShown: Bool let alert: String? let isInfoShown: Bool let info: String? let message: String } private var alertBackgroundView: UIView = { let view = UIView() view.backgroundColor = UIColor(named: "alert_red_bg") view.translatesAutoresizingMaskIntoConstraints = false re

                            iOS12でもXcode Previewsを使いたい! - Qiita
                          • SwiftUIをクラシルに導入した話 - dely Tech Blog

                            SwiftUIをクラシルに導入した話 こんにちは。これはdely アドベントカレンダー10日目の記事となります。 今年も残りあと少しとなりました。クラシル開発部でiOSエンジニアをしている@yochidrosです。 前回はharry(@gappy50)さんのクラシルでのSnowflakeデータパイプラインのお話&活用Tips でした。 日頃redashを利用して分析をしている中でより便利になっていっているなと感じました!tipsも今後使っていこうと思います! 今日はSwiftUIをクラシルに導入した話を書いていきたいと思います。 背景 2019年に発表されたSwiftUIですが、iOSのバージョンが13.0以降でないと利用できない等制約があったためなかなかクラシルも導入できずにいました。 しかし、今年のクラシル自体のiOSのサポートバージョンを13.2に引き上げたことによってSwiftUI

                              SwiftUIをクラシルに導入した話 - dely Tech Blog
                            • iOSアプリ初リリースからこれまでにApp Store Reviewチームからリジェクトされた理由5選 - Qiita

                              私の最初のアプリ(WalCal)をAppStoreにリリースしてから、約9ヶ月が経ちました。リリースから今まで計7回AppleReviewの審査リジェクトされました。今回はそのリジェクト内容を紹介します。 1. 画像が鮮明ではない WalCal(ウォーカル)の決済画面に利用可能なクレジットカード会社(VISA, JCB, MasterCard)のロゴ(UIImageView)をStackviewを使い表示しているのですが、これが全体的に伸びてしまったいたためでデザイン面でApple Reviewチームからリジェクトを食らいました。 対処法はUIImageViewのContentModeをScaleAspectFillで設定していたのを、scaleAspectFitに変更しました。 以下がコードです。 func setupView() { //StripeSDK内のクレジットカード画像アセッ

                                iOSアプリ初リリースからこれまでにApp Store Reviewチームからリジェクトされた理由5選 - Qiita
                              • メルペイiOSチームのスナップショットテストを効率化した話 | メルカリエンジニアリング

                                Unitテストはロジックを担保するために作成するもので、レイアウト確認には適していません。 UIテストやマニュアルテストでは、アプリを操作し画面を確認します。 ただし、アプリを操作するためのデータは実際のユーザーとほぼ同じ環境で作成しなければいけません。 メルペイでは@vvakameさんがMerpay Advent Calendar 2020 4日目に「テスト用お客さまデータ作りツール user-tkool の近況」で公開したように、テストに必要なお客さまデータを簡単に作成できる仕組みが整っています。 またテストの環境がクライアントに閉じず、通信状態やサーバーの状態に依存するといった不確実性を伴います。 スナップショットテストはコードからViewをレンダリングして画像に出力することで、アプリを起動しなくても画面の確認・比較をするテストです。 そのため、モックデータを差し込めるので、安定した

                                  メルペイiOSチームのスナップショットテストを効率化した話 | メルカリエンジニアリング
                                • Face IDでログイン!Sign in with AppleをiOSアプリに組み込む | DevelopersIO

                                  Sign In with Appleは、Apple IDを認証プロバイダとして利用できる機能です。iOS 13から利用できます。本記事では、Sign In with Appleを使ってIdentity Tokenを取得する実装方法を解説しています。非常に簡単に実装できますのでぜひ試してみてください。 Sign in with AppleをiOSアプリに組み込もう Sign in with Appleは、Apple IDを認証プロバイダとして利用できる機能です。iOS 13から利用できます。 つまりこれによって iPhoneユーザーであれば誰もが所有・使用しているであろうApple IDのログイン機能をアプリに組み込める と言うわけです。 またSign in with Appleの提供に伴いApp Store Review Guidelineがアップデートされ、サードパーティのソーシャルログ

                                    Face IDでログイン!Sign in with AppleをiOSアプリに組み込む | DevelopersIO
                                  • [Swift] Compositional Layoutsで実現する疎結合な実装 - Qiita

                                    はじめに Compositional LayoutsがWWDC2019で発表され、ここ数ヶ月でようやくiOS13以上をターゲットにしたプロジェクトが増えてきたのではないでしょうか? SwiftUIを取り入れている技術の記事も目立ってきましたが、iOS14にならないと不自由も多く、最初から機能が豊富なCompositional Layoutsを選択するのも1つの判断かと思います。本記事では実際にプロジェクトに導入してみたので、どのような構成で導入してみたのかをまとめています。 追記:iOSDC2021 のスポンサーセッションでも発表しました。資料はこちら。 Compositional Layouts の優位性 そもそも、Compositional Layoutsで組むことは、何がメリットなのかというお話をざっくりしておきます。 1. UICollectionViewDelegateFlowL

                                      [Swift] Compositional Layoutsで実現する疎結合な実装 - Qiita
                                    • 【Swift】ナビゲーションバーにタイトルとサブタイトルを表示する | DevelopersIO

                                      ナビゲーションバーにタイトルとサブタイトルを記載したかったので調べました。 開発環境 Xcode 13 Swift 5.5 NavigaationBarにタイトルだけを表示する navigationItem.title = "表示したいタイトル" タイトルだけを表示したい場合はこれだけで大丈夫です。 しかし、navigationItemのプロパティにはsubTitleは存在していないのでUINavigationItemのプロパティtitleViewを活用してサブタイトルも追加します。 titleView ナビゲーションバーのタイトルをカスタムできるVewで、このViewにタイトルとサブタイトルを持ったViewをセットしてあげます。 titleViewにタイトルとサブタイトルをセットする 今回はUINavigationItemのextensionとしてsetTitleView(withTit

                                        【Swift】ナビゲーションバーにタイトルとサブタイトルを表示する | DevelopersIO
                                      • iOSのUIを構築する仕組みと学ぶステップを考える - Qiita

                                        過去を振り返って iOSを学びはじめて一番最初に戸惑ったことは どうやってUIを作成するのか? ということでした。 最初Xcodeでプロジェクトを作成すると Main.storyboardがあり Storyboardを使ってUIを作成していくものだと思いましたが 色々なサイトで情報を調べてみると コードレイアウト Xib(Nib) AutoLayout autoResizingMask など色々なUIの構築方法が出てきて 結局何が良いのかがわからなくなりました。 今回は これからiOSを学ぶ人向けへの UIの構築方法のまとめ記事があったので それを参考にして どのようなUIを構成する方法があるのか? どういう時にどの方法が選ばれているのか? 何を学び、どう学ぶのか? について見ていきたいと思います。 Xcodeの始まり AppleのSDKは 1997年のスティーブジョブズの2番目のスタート

                                          iOSのUIを構築する仕組みと学ぶステップを考える - Qiita
                                        • 【Swift】ひとつの画面に複数のUICollectionViewやUITableViewを実装してみた【StackView】

                                          【Swift】ひとつの画面に複数のUICollectionViewやUITableViewを実装してみた【StackView】 どうも。Reoです。 今回は、一つの画面に複数の UICollectionView と UITableView を実装してみたお話です。 めちゃくちゃよくあるレイアウトですよね! 数年 Swift をやっていて今更こんな話?って気もしますが、気にしないで書いていこうと思います。 環境 記事を書いてる時点の環境です。 Xcode 11.1 Swift 5.1 iOS 13.1.3 GitHub にサンプルリポジトリを作りました。 uruly/MultipleCollectionView: Set multiple UICollectionView or UITableView in UIViewController. つくるもの 例えば、レシピアプリだったら。 ヘッ

                                            【Swift】ひとつの画面に複数のUICollectionViewやUITableViewを実装してみた【StackView】
                                          • Intrinsic content sizeを使ってtableviewのdynamic heightを対応 - your3i’s blog

                                            Intrinsic content sizeとは Auto Layout 機能の一部 UIViewのintrinsicContentSizeプロパティ constraintが設定されてない場合、intrinsicContentSizeが代わりレイアウトの計算に使われる UILabel, UIButtonみたいに、Viewのいろんな中身を適切に表示するために必要なサイズのこと ほかに参考になれるリンク: Auto Layout Guide: Views with Intrinsic Content Size What is a view’s intrinsic content size? - free Swift 4 example code and tips 使い方 UILabel, UIButtonみたいなUIViewのsubclassたちはもうintrinsicContentSizeを

                                              Intrinsic content sizeを使ってtableviewのdynamic heightを対応 - your3i’s blog
                                            1