並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 49件

新着順 人気順

UIStackViewの検索結果1 - 40 件 / 49件

  • 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 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】
                                        • Goa v3 の気をつけポイント

                                          この記事はフラー株式会社 Advent Calendar 2022の 14 日目の記事です。 13 日目 の記事は @Juliennu さんで「インスタなどでよく見る重なり合うアイコンを UIStackView で作ってみた」でした。 目次 はじめに 共通エラーが作れない 自前のエラーレスポンス定義が面倒 Payload の指定 まとめ 参考 はじめに Goa はマイクロサービスを開発するための Go のフレームワークで、 API の定義を Goa DSL で記述することで API スキーマとプレゼンテーション層のコードを生成します。 これにはデザイン (API 定義) とドキュメントが乖離しない点、ビジネスロジックの実装に集中できる点で恩恵があります。 DSL を Go で書ける点も Go のフォーマッタなどが使用できて賢いと思います。 業務では Goa v1 (を社員の方がフォークした

                                            Goa v3 の気をつけポイント
                                          • SwiftUI移行について真剣に考える

                                            WWDC19にて突如として公表された宣言的UIフレームワークであるSwiftUI、発表当時は多くのエンジニアが喜び興奮しましたが、実際に触ってみると痒いところに手が届かず、なかなかプロダクションに導入するのは難しいなという印象をみなさん受けたのではないでしょうか (そもそもiOS13の壁もありますが...) しかしながら、翌年のWWDC20ではSwiftUIのさらなるアップデートが多数公開され、WidgetのようなSwiftUIでしか作れない機能もリリースされました SwiftUIはメインのUIフレームワークとして今後もますますアップデートが重ねられ、本番導入への難易度は徐々に下がり、またこれから先3年, 4年と経てばSwiftUIにしか利用できないAPIの範囲はさらに拡大していくのではないかと個人的には考えています それまでにSwiftUIへの緩やかな移行の方針をチームで検討しておく必要

                                              SwiftUI移行について真剣に考える
                                            • 【SwiftUI】UIViewRepresentableでTextViewを作る | 2速で歩くヒト

                                              完成品デモ ↓こんな感じのものを作ります。 大まかな機能を挙げると、 Placeholderが付いている独自ボタンが乗ったInputAccessoryViewハードウェアキーボードが接続された場合のInputAccessoryViewのSafe Area考慮TextViewから変更と終了のイベントを受けられるの4点です。 作るもの 今回のTextViewのため、以下の4つにパーツを分けて作成していきます。(作成順) ・ViewStyles.swift 色やフォントなどの設定をまとめたファイル。 ・InputAccessoryView.swift UITextViewのinputAccessoryViewプロパティに設定する、独自ボタンの土台になるViewを定義したファイル。 ・PlaceholderTextView.swift UITextViewを継承し、Placeholderの表示機能

                                                【SwiftUI】UIViewRepresentableでTextViewを作る | 2速で歩くヒト
                                              • UIScrollView with Content Layout Guides

                                                UIScrollView has gone through some major improvements. Starting with iOS 11, Apple introduced content and frame layout guides to make it a little less confusing to configure the content inside of your scroll view. Xcode 11 also added these layout guides to interface builder. Today, I’ll show you how to use content and frame layout guides to set up a UIScrollView that’s responsive to portrait and l

                                                  UIScrollView with Content Layout Guides
                                                • プログラミング初心者のコードをレビューした時の内容を教えます2|sakiyamaK

                                                  前回に続いて初学者のコードレビューをたくさんやった経験から、同じようなことを何人にも指摘しました。今回も別の内容でまとめてみました。 今回はがっつりSwiftに関することです。 初学者の方に多いのがズバリ「Enumが正しく使いこなせてない」ことです。 今回も初学者が書きがちなコードを載せてそれをリファクタリングしていきます。 作りたい機能 単純に「男性」と「女性」のカード(セルっぽくなってしまったけど)を並べてタップしたら「これは男性です」「これは女性です」とアラートを出すだけです。(上の画像をタップするとアニメーションが見れます) これをHumanのEnumを用意して作るとすると初学者の方々はこのように実装しました。 初学者のソースコードまずはHumanです。 /****************************************/ /***************** 1

                                                    プログラミング初心者のコードをレビューした時の内容を教えます2|sakiyamaK
                                                  • UIStackViewにコードからViewを追加・削除する方法 - ボドテック!!

                                                    最低限のAutoLayoutを設定 StackViewの上下がTopView、BottomViewと接するように制約を追加 StackViewのheightを0に設定 StackViewのheight制約のPriority(優先度)をLow(250)に設定 ←【超重要】 後から、height制約を定義したViewをStackViewに追加するので、StackViewにPriority1000(default)の制約を付けていると、コンフリクトを起こしてしまいます。 優先度Lowのheight制約をStackViewに追加することで、コンパイルエラーを防ぎつつ、コンフリクトを回避することができます。 Viewの追加・削除の処理 「Viewを追加する」ボタンがタップされた時に、ViewをStackViewに追加し、 追加されたViewが選択されたら、対象のViewを削除するように実装します。

                                                      UIStackViewにコードからViewを追加・削除する方法 - ボドテック!!
                                                    • iOS13からのUICollectionViewを使って詳細画面を組み立てる | Wantedly Engineer Blog

                                                      はじめまして.iOSエンジニアのk-koheyです.詳細画面をUICollectionViewを使って書き直しており,そのレポートを書きました.初歩的な内容を多く含みますが,興味が有る方はぜひ見てください🙌 はじめにアプリ内で扱う特定のモデルを表示する詳細画面は一般的に画面内に多くのViewが詰め込まれます.このような多くのViewを抱える画面をUIStackViewを用いて組み立てると,UIStackViewのパフォーマンスの問題から表示されるまでしばらく待たされます.よって,そのような場合はUIStackViewを使うのは適していません.そこで,今回はUICollectionViewを使った詳細画面の組み立て方法を説明します.また,実装にはiOS13以降のAPIを用いたので勘所なども併せて説明します. 対象iOSアプリ版Wantedlyのストーリ詳細画面です.下記のような画面をUIC

                                                        iOS13からのUICollectionViewを使って詳細画面を組み立てる | Wantedly Engineer Blog
                                                      • Fjord Boot Campの卒業生が作成したサービスの技術スタックデータベースをリリースしました🎄 - mh_mobileのブログ

                                                        これは、「フィヨルドブートキャンプ Part 2 Advent Calendar 2022」25日目の記事です。 昨日は、Part 1がshu91327さんの質問しながら出来るようにしていく、 Part 2がsaeyamaさんのRails/Vue 編集時に画像をD&Dで入れ替えした時のActive Storageの保存方法 でした。 今年のアドベントカレンダーは以下になります。 フィヨルドブートキャンプ Part 1 Advent Calendar 2022 - Adventar フィヨルドブートキャンプ Part 2 Advent Calendar 2022 - Adventar 目次 はじめに サービス概要 機能紹介 開発のきっかけ 1点目 2点目 どう解決するか 技術スタックの類似サービス FBC Stackの技術スタック FBC Stackのシステム構成 FBC Stackに掲載し

                                                          Fjord Boot Campの卒業生が作成したサービスの技術スタックデータベースをリリースしました🎄 - mh_mobileのブログ
                                                        • iOSDC Japan 2022 にスピーカー&コアスタッフとして参加しました

                                                          2022年9月10日〜9月12日の日程で、iOSDC Japan 2022 が開催されました。 iOSDC Japan 2022 はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。今年はリアル会場とオンライン配信のハイブリッド開催を予定しています。 日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、参加者であれば誰でも作れる即興のトーク・アンカンファレンスなど、初心者から上級者まで楽しめるコンテンツがみなさんを待っています。 - iOSDC Japan 2022 https://iosdc.jp/2022/ 自分の参加形態 今年は「スピーカー」と「コアスタッフ」の2つの形態で参加しました。 この iOSDC Japan 2022 はオンライン・オフラインのハイブリッド開催でしたが、Day 0 から Day 2 の

                                                            iOSDC Japan 2022 にスピーカー&コアスタッフとして参加しました
                                                          • iOS14 勉強会参加レポート - Sansan Tech Blog

                                                            こんにちは。Twitter に流れてくる PS5 当選Tweet を見て嫉妬にかられている iOS チームの髙橋佑一朗です。 今回は 11/06 の金曜に行われた「アプリ開発に強みを持つ3社がiOS14の開発事情を語る」 に参加してきましたので、その内容をレポートにまとめてみました! アプリ開発に強みを持つ3社がiOS14の開発事情を語る について 今回の勉強会はつい最近リリースされた iOS14 へのアプリ対応の取り組みについて 株式会社Mobility Technologies、株式会社ゆめみ、Sansan株式会社の3社の iOS エンジニアが登壇し、どのような開発を行っているか、どんな部分に苦労したかお話ししていただきました! イベントの概要 JapanTaxi x MOV = Goの開発体制と iOS14 対応 こんなにあった!ゆめみでの iOS 14 対応 iOS 14 での M

                                                              iOS14 勉強会参加レポート - Sansan Tech Blog
                                                            • VerticalなStackviewの中に置いたViewの高さを内側のボタンサイズによって決定させたい

                                                              まずUIKitのコンポーネントにはUILabelやUIButton、UIImageViewなどのようにIntrinsic Content Sizeを持つものとUIViewなどIntrinsic Content Sizeを持たないものがあります。 (前者についてもテキストが複数行に渡る場合などは幅を与える必要があるなど細かい違いはいろいろあります) UIButtonは自身のコンテンツ(テキストや画像)に応じてIntrinsic Content Sizeが決まるので原則としてはそれを利用します。そうすると長いテキストであっても自然にサイズと位置が調整されるのでAuto Layoutのメリットが享受できます。 (フォントサイズを小さく設定している場合や、テキストが短いことがわかっている場合(「OK」や「了解」など)はボタンについては小さくなりすぎて押しにくくなるため、あえて幅や高さの制約を与える

                                                                VerticalなStackviewの中に置いたViewの高さを内側のボタンサイズによって決定させたい
                                                              • 【SwiftUI】AppデザインのためにGeometryReaderを理解する - Qiita

                                                                はじめに SwiftUIでそれぞれのViewのレイアウトをデザインする時に必要なGeometryReaderについて整理することを目的とする 開発環境 OSX 10.15.7 (Catalina) Xcode 12.2.0 CocoaPods 1.10.0 SwiftUIのレイアウトシステム Appをデザインするための基本的な考え方はHStack、VStack、ZStackを組み合わせです。複雑なレイアウトを実装していくためにそれぞれの特徴を理解する必要があります。 HStack childViewを横一列に並べることができる。 "H": a horizontal line VStack childViewを縦方向に並べることができる。 "V": a vertical line ZStack childViewを重ねることができる。 "Z": overlap 参考文献 How to use

                                                                  【SwiftUI】AppデザインのためにGeometryReaderを理解する - Qiita
                                                                • エンジニアのためのデザイン4大原則 - Goodpatch Tech Blog

                                                                  この記事はGoodpatch Advent Calendar 2022 の5日目の記事です。 こんにちは!エンジニアの藤井(@touyou_dev)です。先日宣言型UIフレームワークを比較してみたという記事を出したばかりですが、今年も昨年のアドベントカレンダー同様、2日目と5日目の二日間を担当しようと思いたち、今年ふたつ目となるこの記事を書いています。 今回扱うテーマはタイトルの通り「デザインの4大原則」です。 デザインをする人たちにとっては、UIであれグラフィックであれ基本中の基本となるこの原則。ですが、今年自分が参加したとある技術カンファレンスでの周りの反応を見て、これが世間一般のエンジニア界隈にとっては当たり前じゃないということに気付いたことがありました。その記憶もあってこの記事を書いています。 といっても、逐一原則の細かい説明を普通にするだけでは意味がないと考えています。というより

                                                                    エンジニアのためのデザイン4大原則 - Goodpatch Tech Blog
                                                                  • インタラクティブなカスタムヘッダー付きのUICollectionViewリスト

                                                                    この記事はもともとで公開されています https://swiftsenpai.com/development/list-interactive-custom-header/ 2020年11月7日。 前回の記事では、宣言型のヘッダーとフッターをUICollectionViewリストに追加する方法について説明しました。今週は、さらに一歩進んで、カスタムヘッダーをコレクションビューに宣言的に追加する方法について説明しましょう。 これは私の前の記事の続きです https://swiftsenpai.com/development/declarative-list-header-footer/ 「したがって、先に進む前に必ず確認してください。 サンプルアプリ できるだけシンプルにするために、タイトルラベルと情報ボタンで構成されるシンプルなカスタムヘッダーを作成します。情報ボタンをタップすると、アプリ

                                                                      インタラクティブなカスタムヘッダー付きのUICollectionViewリスト
                                                                    • UITableViewCell内のVertical UIStackViewをアニメーションさせる - Qiita

                                                                      UITableViewCellの高さが変わるアニメーションを行うには、UITableView.beginUpdates UITableView.endUpdatesでCell高さ変更処理を挟むことで実現できます。 tableView.beginUpdates() // Cell高さが変更されるような処理 tableView.endUpdates() ここで、Cell内部にある、VerticalなUIStackViewの一部要素の表示非表示を切り替えてアニメーションする場合、UITableView側のアニメーション設定と合わせて、UIStackView側のアニメーション設定が必要で、Duration設定を正しく設定しないと、アニメーションが安定しません。 結論から言うと、UITableView側のアニメーションのDuration: 0.3と同じ時間となるよう、UIStackView側のDur

                                                                        UITableViewCell内のVertical UIStackViewをアニメーションさせる - Qiita
                                                                      • iosの開発を始めたあの日の僕に伝えたいこと。 - Qiita

                                                                        0. 自己紹介 entakuです。 元々はSIerでWebエンジニア(JavaとかPHPとか)書いてました。 その前はネットワークエンジニアとかやってました。 今は株式会社LifeSportsでスポーツマッチングアプリ作ってます😀 僕が本格的にios開発を始めたのは、今年初めからです。 swiftアプリはUdemyなどで勉強してなんとなくわかるかなとは思っていたのですが、 学習サイトをみながら作ることと、実際にアプリを作って行くことはかなり違いました。 1年弱経って、1年前の自分に伝えたいことをまとめてみました。 1. ViewControllerのライフサイクルをつかもう! xcodeでアプリを作成すると最初にviewControllerが作成されています。 viewControllerには処理の順番があらかじめ決まっており、「このタイミングで処理する」というのを意識しておく必要があり

                                                                          iosの開発を始めたあの日の僕に伝えたいこと。 - Qiita
                                                                        • StackView in a ScrollView - Qiita

                                                                          どうも、iOSアプリ開発をしておりますRyu1です。 最近ふかみんというあだ名を付けてもらって少し気に入ってます。 今回は、UIScrollViewにUIStackViewを配置して、スクロールする方法を紹介します。 何故この記事を書くか UIScrollViewにUIStackViewを配置してスクロールする方法を紹介している記事は既にいくつかあるものの、 Xcode11で追加されたframe and content layout guidesと合わせて書いてある記事が少ない ScrollViewのContent sizeをわかりやすく解説している記事が少なかった。 などといった理由で、本記事を書くことにしました。 環境 Xcode Version 11.3.1 Swift5 実現したいこと UIScrollViewにUIStackViewを重ねて、UIStackViewにUIViewを

                                                                            StackView in a ScrollView - Qiita
                                                                          • 【翻訳】How To Fix Your Fat ViewController

                                                                            iOS の開発ではよくあることですが、 UIViewController は Views 、 outlet 、 action 、 layout 、ビジネスロジックなど、あらゆる要素で埋め尽くされてしまうため、非常にゴチャゴチャして管理しづらくなります。 実際、 UIViewController は非常にシンプルであるべきです。 UIViewController は View を管理し、アクションの発生を監視するだけで良いのです。このチュートリアルでは、私がいつもプロジェクトに適用しているベストプラクティスの1つを共有したいと思います。 解決方法 画面を複数の UIView コンポーネント に分割し、それぞれの UIView コンポーネント が全てのレイアウトとスタイルを管理します。また、アクションや変更を ViewController に通知する責任も負います。その上、 UIView コン

                                                                              【翻訳】How To Fix Your Fat ViewController
                                                                            • [iOS]UIStackViewのアニメーションが変! - Qiita

                                                                              世間話 今更UIStackViewと戯れているんですが、ちょいちょいわけわからん動きをしますね。 UITableViewと格闘して大嫌いになった人達がUIStackViewを絶賛していましたが、彼らは大丈夫だったんでしょうか。こっちも結構曲者ですよ・・・ Hide/Showアニメーションが変 UIStackViewの良いところは、なんと言ってもisHiddenでViewの表示/非表示が簡単にできるところですよね。 iOSでもAndroidのgoneが使いたいんだ!と何度思ったことが。 ですが、表示/非表示のAnimationをしようとしたところ、変な動きになりました。 一番上と一番下、お前らなんなん!? ここらへん、ググっても全然出てきませんでした。 ちなみに条件は Alignment Fill Distribution Fill Spacing 0 各Viewにheightのconstr

                                                                                [iOS]UIStackViewのアニメーションが変! - Qiita
                                                                              • UITableViewの高さ制約をコンテンツ量に応じて変化させる | TsukubaDepotの技術ブログ

                                                                                複数の項目を一覧形式して出力する方法はいくつか考えられます。 たとえば、一つは UIStackView を利用し、項目を UILabel として必要な分だけ動的に追加する方法です。 しかし、たとえば項目をタップしたときに特定の動作を行わせたい、スワイプで削除させたいとなると、その実装だけでもかなり大変となります。 一方、UITableView を使うと、セルをタップしたときの処理やスワイプで削除したときの処理など、すべて delegate に任せることができますので、自分で実装すべきコードは格段に減ります。 その一方、UITableView そのものの高さをコンテンツの量(セルの数)にあわせて動的に変化させるとなると、どうすればよいのかかんがえてします。 ここでは、StoryBoard を使い、高さ制約(Constraint)を設定し、それをコード側から動的に変更させることによって、セルの

                                                                                  UITableViewの高さ制約をコンテンツ量に応じて変化させる | TsukubaDepotの技術ブログ
                                                                                • iOSDC Japan 2022の発表資料の埋め込みまとめ一覧 | DevelopersIO

                                                                                  今年のiOSDC Japan 2022がオフラインで開催されるということで参加してきました。 iOSDC Japanとは iOSDC Japan 2022 はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。今年はリアル会場とオンライン配信のハイブリッド開催を予定しています。 日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、参加者であれば誰でも作れる即興のトーク・アンカンファレンスなど、初心者から上級者まで楽しめるコンテンツがみなさんを待っています。 今年は前夜祭も含めて、9月10、11、12の三日間で開催されました。 私はパンフレットの原稿とLTが採択されたので現地で発表してきました。 記事を書くまでがiOSDC iOSDCでは、I will blogの精神で記事を書くまでがiOSDCと言われているようです。

                                                                                    iOSDC Japan 2022の発表資料の埋め込みまとめ一覧 | DevelopersIO