並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 46件

新着順 人気順

UICollectionViewの検索結果1 - 40 件 / 46件

  • 【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita

    本記事はこの記事の日本語訳です。翻訳許可をいただいております。 以下翻訳: もし Cocoa 開発やソフトウェアビジネスのブートストラップについての最新の記事を常にキャッチアップしたいなら、ぜひ Twitter で私をフォローするかメールリストを購読してください。 開発者として、パフォーマンスの良さは我々のユーザにワクワクと嬉しさを与えるのに評価しきれないほど貴重なものです。iOS ユーザの目は非常に高く、そのためもしあなたのアプリが動作がモサモサしたり、すぐにメモリプレッシャーでクラッシュしたりすると、彼らはあなたのアプリを削除するか、最悪悪いレビューまで残してしまうでしょう。 私はアップルに 6 年間を在籍し、その歳月を Cocoa フレームワークやファーストパーティーのアプリに費やしてきましいた。私が手掛けたものには Spotlight、iCloud、app extensions、そ

      【翻訳】あなたの(多分)まだ知らない iOS パフォーマンスアドバイス(元アップルエンジニアから) - Qiita
    • ちょっとスクリプトを書くくらいの気持ちで作るSwiftUIアプリ - cockscomblog?

      12年前くらいからiOS向けのアプリを作ってきた。最初は学生の個人開発、途中から仕事、そして最近は(仕事ではあまりやらなくなったので)趣味的にやっている。UIKitで、はじめの頃はUITableViewが難関だった。毎年のアップデートでUIKitはどんどん拡充されて、Objective-CはMRCからARCへ、そしてSwiftも出た。 毎年の変化を差分で学んできて、振り返ってみると、当初のそれからは大きく変わっていて、便利なんだけど、とにかく膨大だ。 SwiftUIの登場 というところで、2019年にSwiftUIが出た。SwiftUIを使うと、宣言的にユーザーインターフェースを構築できる。UIKitでできること全てをSwiftUIで実現できるわけではないが、それでも2020年のアップデートでかなりカバー範囲が拡がった。 それで、SwiftUIでちょっと何か作ったりしている。例えばメニュー

        ちょっとスクリプトを書くくらいの気持ちで作るSwiftUIアプリ - cockscomblog?
      • 突撃!隣のキーボード Gunosy 2019 - Gunosy Tech Blog

        こんにちは. Gunosy Tech Lab 所属のエンジニアの id:tmotegi です.現世で初のアドベントカレンダーなので緊張します. この記事は Gunosy Advent Calendar 2019,6日目の記事です. 昨日の記事は @rikusouda さんによる「【再入門】UICollectionViewとUITableViewのセルを選択したときに見た目を変える方法 - Gunosy Tech Blog」でした. qiita.com はじめに 近年,エンジニアの自作キーボードへの熱は高まり続けています. つい先日もキーボード沼にハマった人達の3回目のゆるふわ交流会である「天下一キーボードわいわい会」が開催されました. この天キーですが告知後すぐに枠が埋まっていたのが印象的です. tenkey.connpass.com 今年のアドベントカレンダーでもキーボード人気は衰えてお

          突撃!隣のキーボード Gunosy 2019 - Gunosy Tech Blog
        • SwiftUI を活用した「レシピ」×「買い物」の新機能開発 - クックパッド開発者ブログ

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

            SwiftUI を活用した「レシピ」×「買い物」の新機能開発 - クックパッド開発者ブログ
          • minne iOSの2021年の開発環境 - Pepabo Tech Portal

            開発言語と主要フレームワーク 95%以上Swiftで、特に古いテストやエンティティはObjective-Cが少しだけあります。新規のものは必ずSwiftで開発していて、残っているObjective-Cは少しずつ減らしています。 使っているSDKのバージョンに関しては、Xcode 12への移行対応が終わっており、近日中に12でビルドしたバイナリーを公開する予定です。 ほぼほぼUIKitですが、いくつかの画面でSwiftUIを使っています。最低対応のSDKはiOS 13なので、LazyStack系やLazyGrid系がまだ使えないのですが、設定周りの画面など、CollectionViewっぽくない画面を今年中にたくさん移行しようと思っています。移行自体は色々考えてプロトタイプを作るなどして、2020年のiOSDCで発表しました。また、UIKitはモダンなAPIを使うように心がけており、例えば、

              minne iOSの2021年の開発環境 - Pepabo Tech Portal
            • iOSDC 2021セッション資料まとめ - Qiita

              iOSDC2021登壇資料、スライドのまとめです。 Twitter等で見つけ次第掲載しますが、もし資料を見かけた方or資料を公開した登壇者の方がいらっしゃいましたら、コメント等でお声がけください。 スライドや資料のリンクが見つかった場合はタイトルにリンクをつけてありますので、タイトルがリンクになっていない場合はまだ資料が見つかっていないものになります。 Day 0 Track A 大規模リファクタリングの極意 forteeのリンク SwiftUIで使ったアプリを1年運用してみてわかったこと forteeのリンク Initiatives in Rakuma iOS App forteeのリンク SwiftUI で実プロダクトを音速リリースした話 forteeのリンク Track B agoraを使ってライブ配信機能を1ヶ月半でリリースした話 forteeのリンク A Swift Stack

                iOSDC 2021セッション資料まとめ - Qiita
              • Appleのエンジニアに聞いた日頃の疑問とこれからの話 - オンライン開催のWWDC20まとめ - ZOZO TECH BLOG

                こんにちは。ZOZOTOWN部の荒井です。 先日WWDC20が開催され、今年も弊社iOSメンバーが参加してきました。Apple Siliconや各次世代OSなど面白い発表が目白押しでしたね。 カンファレンスの内容も非常に興味深いものでしたが、今年は諸般の事情を鑑みて、初のオンライン開催となったことも印象的でした。 本記事ではWWDC20オンライン開催にあたり、ZOZOTOWN iOS担当のメンバーがどう臨んだのか、参加して感じた現地開催との相違点をお伝えします。また、Developer Labsに参加し、Appleのエンジニアと日頃疑問に思ってる点について話をしてきました。可能な範囲で内容を公開しますので、是非最後までご覧ください。 WWDC? WWDC(Worldwide Developer Conference)は、Appleが年に1度開催している開発者向けのカンファレンスです。ZOZ

                  Appleのエンジニアに聞いた日頃の疑問とこれからの話 - オンライン開催のWWDC20まとめ - ZOZO TECH BLOG
                • minne iOS 2024年の開発環境 - Pepabo Tech Portal

                  minne事業部モバイルチームのエンジニアをしております、@umatoshiです。最近はパルワールドに夢中で、全力で配合に取り組んでいます。 好きなパッシブスキルは脳筋です。 現在私は、minneのiOSアプリを開発しており、最新バージョンのXcode(執筆時点では15.2)対応とiOS15サポート終了予定等、2021年当時の記事からアップデートしたので、採用している新技術や開発効率を上げるための工夫をはじめとしたトピックを、minneのiOSチームに興味がある方へ向けて共有したいと思います。 去年はiOSDC 2023でブース出展もしていて、弊社から登壇もしていてminneについて紹介しています。こちらもどうぞ。 概要 まずiOS 14のサポートを終了しており、SwiftUI、 GraphQL、 SPM(Swift Package Manager)、 Combine、 Swift Con

                    minne iOS 2024年の開発環境 - Pepabo Tech Portal
                  • N予備校iOSアプリへ SwiftUI を導入してみて List編 - ドワンゴ教育サービス開発者ブログ

                    はじめに 問題点 ベンチマークテスト(Sampleコードで実演) 計測方法 パターン1: Identifiableに適合したデータのリスト表示 ベンチマークスコア パターン2: リスト内ボタンの表示 ベンチマークスコア ベンチマーク結果 問題発覚と調査 解決方法 改善とその結果 パターン3: UIViewControllerRepresentableを利用したリスト表示 パターン4: 従来通りのUIKitのUITableViewを利用したリスト ベンチマーク結果 改善の結果 総括 We are hiring! N予備校春の入学無料キャンペーンのお知らせ はじめに こんにちは。N予備校iOSアプリ開発チームです。 以前、N予備校iOSアプリへ SwiftUI を導入するまでの道のりについてという記事を書かせていただきました。今回は導入しSwiftUI化を一部の画面で行った結果、どうなったかを

                      N予備校iOSアプリへ SwiftUI を導入してみて List編 - ドワンゴ教育サービス開発者ブログ
                    • 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の基本からコードの構造まで解説
                      • GigaViewer for Appsで使っている便利SwiftUIコンポーネント5連発! - Hatena Developer Blog

                        2021年11月にはてなが開発しているマンガビューワのアプリ版である「GigaViewer for Apps」を提供開始しました。 hatenacorp.jp 同日に、その最初の導入事例としてコミックガルド+をリリースしています。 GigaViewer for AppsのiOSアプリはSwiftUIをフルに活用して開発をしています。この記事では実際に使っているSwiftUIの便利コンポーネントをソースコード付きで紹介します! GigaViewer for Appsに関しては、座談会の記事や、Android版の設計について書いたブログもありますので、あわせてお読みください。 この記事では主にカスタムコンポーネントの使い方を紹介します。コンポーネントの実装サンプルはリポジトリに公開しているので、こちらもご確認ください。 github.com PageViewController - UIPag

                          GigaViewer for Appsで使っている便利SwiftUIコンポーネント5連発! - Hatena Developer Blog
                        • iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog

                          こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 先日のApple Eventを見てポートがUSB Type-Cとなった新しい iPad mini が欲しくなりました。 さて、今年も毎年恒例のiOSDC Japanの開催時期となりましたね! 昨年と同様にオンラインで開催され、事前収録によるレギュラートークのストリーミング配信、ライブ配信のLT、スピーカーと直接話すことができるAsk the Speakerなどが予定されています。 iosdc.jp そして今年は、ミラティブからは2名のエンジニアのトークが採択され、レギュラートークで登壇します。 2名とも9/19(日) Day2 の登壇となりますので、 コメントと合わせて簡単に紹介します。ぜひご覧ください! 登壇情報 ■ ケースに応じたUICollectionViewのレイアウト実装パターン 日時: 2021/09/19 13

                            iOSDC Japan 2021 にエンジニア2名が登壇します!! - Mirrativ Tech Blog
                          • 食えるアプリにするための細かい工夫

                            【 追記 】 リリース初月の売上、1万円を超えることができました! という訳で、この記事の効果はある程度はありそうです 😉 こんにちは。 脱サラして個人アプリだけで生活している、あたか、です。 iOS開発歴10年で、iPhone3GSぐらいからやっています。 さてさて、 3年ぶりに、iOSの新アプリ 「しつこいTODO」 をリリースしました 🎉 👉👉 ダウンロードはコチラ 👈👈 このアプリは 👺 < カテゴリー機能とかは、1つのカテゴリーに全部入れるから要らない! 👺 < それより、TODOを忘れないように何回も通知して欲しい!! という要望を叶える 「シンプルなのに、TODOを絶対忘れない!」 アプリに仕上げました。 超シンプルな1リスト しつこい「面白い」通知 このアプリが売れるようにした工夫はnoteで記事にして、沢山の方が読んでくれましたが https://note

                              食えるアプリにするための細かい工夫
                            • iOS Performance tips you probably didn't know (from an ex-Apple engineer)

                              iOS Performance tips you probably didn't know (from an ex-Apple engineer) If you’d like to stay up to date with articles about Cocoa development and bootstrapping a software business, follow me on Twitter or sign up to the mailing list. As developers, good performance is invaluable to surprise and delight™ our users. iOS users have high standards, and if your app is sluggish or crashes under memor

                              • Server Driven UI – Tom Lokhorst's blog

                                Update 2023-03-29: In August 2021 Apple acquired Primephonic the company. On March 28, 2023 Apple launched Apple Music Classical as a new app. This new app is built on the foundations of the Primephonic app, the fundamentals of the Server Driven UI architecture as described in this post remain the same. Note: This post is based on a talk I gave at CocoaHeadsNL in July 2020. Warning: because this i

                                • iOS バージョン による SwiftUI の機能差分・制限まとめ - スタディサプリ Product Team Blog

                                  こんにちは。iOS エンジニアの wadash です。先月2022年2月に無事リリースした「スタディサプリ 中学講座」のチームで開発に携わっています。 今回は iOS バージョンによる SwiftUI の挙動差異と制限のまとめをご紹介します。 SwiftUI の採用とサポートバージョンについて 「スタディサプリ 中学講座」では、SwiftUI を全面的に採用した開発を行っており、アプリのサポートバージョンを iOS 14 以上としています。 プロジェクト発足当初は iOS 13 以上をサポートバージョンにする方針で議論していましたが、プロジェクト期間途中の2020年9月にリリースされた iOS 14 にて、iOS 13 時点で一般に認識されていた SwiftUI の不安定な挙動がある程度改善されたことを確認したため、プロダクト自体の品質向上という目的と、ローンチのタイミングでユーザーがイン

                                    iOS バージョン による SwiftUI の機能差分・制限まとめ - スタディサプリ Product Team Blog
                                  • SwiftUI100本ノック - Qiita

                                    SwiftUI(と関連知識)を習得するための100本ノックです。 「SwiftUIチュートリアルの次に何をすれば良いかわからない」という人向けに作ってみました。 100問無いので逐次追加します。 またもっと良い解答例があればコメントでどんどん教えてください m(_ _)m 2023/01/06 更新 新しい記事を作成しました。 SwiftUI100本ノック iOS16バージョン かんたん(SwiftUIの簡単な構文だけで実装可能) 画像をリサイズして表示(fit) 150✖︎200サイズに画像をリサイズして表示させてください。 アスペクト比が異なる場合は余白を赤色で表示してください。 解答 画像をリサイズして表示(clip) 150✖︎200サイズに画像をリサイズして表示させてください。 アスペクト比が異なる場合ははみ出た箇所を切り取って表示してください。 解答 参考 【SwiftUI】画

                                      SwiftUI100本ノック - Qiita
                                    • メルカリのShimmerViewをOSS化しました | メルカリエンジニアリング

                                      メルカリiOSアプリでは、検索画面や保存した検索結果画面などのいくつかの画面で、アプリがデータを非同期で取得しているときに実際のコンテンツのレイアウトに似せたキラッと光るViewをLoading Indicatorとして表示しています。 ShimmerEffectを使ったSearch画面 この実際のコンテンツに似せた骨組みだけのViewはSkelton Viewと呼ばれ、それにShimmer Effectというエフェクトを追加し、Loading Indicatorとして使用します。最近ではこの種のLoading IndicatorをFacebook, YouTube, Google Mapなど、さまざまなメジャーなアプリで見かけるようになりました。UIKitのUIActivityIndicatorViewを使うよりも、Loading Indicatorから実際のコンテンツへのスムーズなトラ

                                        メルカリのShimmerViewをOSS化しました | メルカリエンジニアリング
                                      • Compositional LayoutとDiffable Data Sourceを使ってiOSアプリのつくれぽ詳細画面を実装する - クックパッド開発者ブログ

                                        クックパッドの事業開発部でiOSエンジニアをしている角田(id:muchan611)です。普段はクックパッドiOSアプリの検索に関する機能を開発しています。 クックパッドの基本的な機能のひとつである「つくれぽ」を表示する「つくれぽ詳細画面」を、UICollectionViewCompositionalLayoutやUICollectionViewDiffableDataSourceを使って実装したので、その過程や実装方針についてご紹介します。 背景 つくれぽとは、クックパッドのレシピを見て料理をした人が、その料理を他の人におすすめするために投稿するもので、検索ユーザーはつくれぽ通してレシピを探せるようになっています。 事業開発部では「つくれぽからレシピを決める」体験を増やす取組みを行っていますが、各施策の方針を決定するために、多くのユーザーインタビュー(※)や数値分析を実施し判断材料を得て

                                          Compositional LayoutとDiffable Data Sourceを使ってiOSアプリのつくれぽ詳細画面を実装する - クックパッド開発者ブログ
                                        • iOSのCompositionalLayoutによるカスタムレイアウト実現と高速化 〜 PayPayフリマのグリッドレイアウトUI

                                          ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、PayPayフリマでiOS開発を担当している新妻です。PayPayフリマYahoo! JAPAN Tech Blogの第三弾となります! 今回は、PayPayフリマのUI事情についてお話しします。PayPayフリマでは、iOSのモダンなUI技術を積極的に採用しており、複雑なレイアウトにも対応できる環境が整っています。 この記事では、PayPayフリマの新機能である「投稿」システムの開発において、「CompositionalLayout」を活用した事例をご紹介します。 PayPayフリマの投稿機能とは? PayPayフリマは、誰でも気軽に、安心して個人間取引ができるフリマアプリです。(PayPayアプリの中からも使えます

                                            iOSのCompositionalLayoutによるカスタムレイアウト実現と高速化 〜 PayPayフリマのグリッドレイアウトUI
                                          • 1000枚の写真を10秒で閲覧するフォトビューアアプリを作った - Qiita

                                            「写真いっぱい撮ってるけど、一生振り返る暇ないな…」 という課題意識から、100枚/秒で写真を閲覧できる「Somato」というiOSアプリをつくった。 1,000枚の写真であれば10秒で閲覧できる。 まぁ正直100枚/秒はインパクト重視で謳っているところはあるが、意外と20枚/秒ぐらいで高速表示していても不思議と「懐かしいなぁ」と十分に思い出に浸れる。無料なので興味のある人はぜひダウンロードして試してみてほしい。 (M1 Macでも利用可能。MacのApp Storeで"Somato"で検索してください) 本記事ではこのアプリの実装について書く。 概論 実は、Somatoは技術的に尖った部分は特にない。 ざっくりいうと、Photos(PhotoKit)で画像を取得し、UICollectionViewで表示しているだけ。 最初のプロトは1時間もかからずできた。特に工夫もなく、素直な実装をやっ

                                              1000枚の写真を10秒で閲覧するフォトビューアアプリを作った - Qiita
                                            • UICollectionViewでお手軽にUITableViewライクなリストレイアウトを実現する「Lists in UICollectionView」セッションメモ #WWDC20 | DevelopersIO

                                              はじめに こんばんは。CX事業本部の平屋です。 UICollectionViewでお手軽にUITableViewライクなリストレイアウトを実現する仕組みが、iOS 14 で追加されました。その仕組みに関するセッション「Lists in UICollectionView」を視聴したので、本記事ではその概要を紹介します。 このセッションの動画は一般に公開されています。以下のページで確認できます。 Lists in UICollectionView - WWDC 2020 - Videos - Apple Developer また、記事中の画像はWWDCのセッションのスライドを引用しています。 本記事は Apple からベータ版として公開されているドキュメントを情報源としています。 そのため、正式版と異なる情報になる可能性があります。ご留意の上、お読みください。 iOS 14で追加された、UIC

                                                UICollectionViewでお手軽にUITableViewライクなリストレイアウトを実現する「Lists in UICollectionView」セッションメモ #WWDC20 | DevelopersIO
                                              • On Building a Fluid User Interface

                                                In late 2019 we launched Threads from Instagram, our standalone messaging app designed to help you stay connected to your close friends. Threads was built from the ground up as an entirely new experience, and presented an opportunity for us to rethink our approach to user interfaces. We wanted to deliver an experience that felt both fluid and responsive, and it was clear that relying on standard U

                                                  On Building a Fluid User Interface
                                                • 【再入門】UICollectionViewとUITableViewのセルを選択したときに見た目を変える方法 - Gunosy Tech Blog

                                                  こんにちは。iOSアプリを開発している吉岡(rikusouda)です。 こちらは Gunosy Advent Calendar 2019、5日目の記事です。なお、昨日の記事は齊藤さんのA/Bテストの時間短縮に向けて 〜ベイズ統計によるA/Bテスト入門〜 でした。 qiita.com はじめに iOSアプリを開発していると、UICollectionViewとかUITableViewでセルを選択状態にしたときに表示を変えたいことがちょくちょくあります。 実現方法を検索エンジンで調べて見ると自前で選択状態を管理する方法が複数出てきました。具体的に言うと「 tableView(_:didSelectRowAt:) や tableView(_:cellForRowAt:) でcellに対して選択状態の変更通知を出して、そこで表示を切り替える方法」です。 この方法でももちろん機能を実現できるので選択肢

                                                    【再入門】UICollectionViewとUITableViewのセルを選択したときに見た目を変える方法 - Gunosy Tech Blog
                                                  • LINEはiOSのデータベース暗号化をどのように実現しているか SQLCipherとCoreDataを組み合わせた暗号化の仕組み

                                                    CoreDataのセットアップ Bruce Evans氏:では、ここからはiOSの話になります。LINEでは昔からCoreDataを利用して、大量のコードがCoreDataに依存しています。CoreDataは、AndroidのRoomのように、ハイレベルなパーシステンスフレームワークですがApple専用のものです。 これから、このCoreDataのセットアップ、データベース作成、ID変更、検索、保存、そしてデータの読み込みを紹介します。 まずは、CoreDataは暗号化のサポートがないため、最初から暗号化の仕組みを加える必要があります。今表示している画像は、CoreDataの基本的なかたちです。NSManagedObjectContextは、プログラマーがふだん使っている部分です。オブジェクトやエンティティがこのレイヤーなので、CoreDataのメイン機能と考えてもいいと思います。 その下

                                                      LINEはiOSのデータベース暗号化をどのように実現しているか SQLCipherとCoreDataを組み合わせた暗号化の仕組み
                                                    • iOSDC 2021 印象に残ったトークまとめ🎉 - Qiita

                                                      はじめに 今年も参加しました!iOSDC! https://iosdc.jp/2021/ 話題のSwift Concurrency、そして昨年に引き続きSwiftUI・Combine関連のトークも多く、とても学びの深いイベントでした。 どれも素晴らしいトークだったのですが、なかでも印象に残ったものをまとめていきたいと思います。 スライド画像多めに載せているので、ざーっと流し見するも良し、気になるものがあればURLから飛んで詳細を見るも良しです。 この記事が、少しでも誰かのお役に立てば幸いです 掲載トーク一覧 大規模リファクタリングの極意 agoraを使ってライブ配信機能を1ヶ月半でリリースした話 振り返りながら学ぶPackage Manager 初めてのハードウェア対応 Appleプライバシー保護の最新事情と適応戦略 noteのiOSアプリで実装したアクセシビリティの全て Hello, S

                                                        iOSDC 2021 印象に残ったトークまとめ🎉 - Qiita
                                                      • UITableViewを用いた実装で意識したほうがいいポイント - BASEプロダクトチームブログ

                                                        はじめに こんにちは、ネイティブアプリチームの筧です。 自分はモバイルアプリの開発は今まで Android でしか経験がなかったのですが、最近は iOS アプリ開発にコンバートしました。 はじめは Storyboard の扱いに慣れなかったり、AutoLayout の設定に色々と苦戦していたのですが少しずつ慣れていきました。 今回 UITableView を用いた新機能の開発を経験し、iOS エンジニアの先輩にレビューで課題点をあぶり出してもらい勉強になったので、いくつかポイントをピックアップして紹介します。 開発のお題 まずは簡単に今回のお題となった機能を実現するにあたって、求められる挙動をいくつか紹介します。 主に 2 種類の UITableViewCell を実装します 1 つは文字を入力できる UITableViewCell。 UITableViewCell の中に UITextV

                                                          UITableViewを用いた実装で意識したほうがいいポイント - BASEプロダクトチームブログ
                                                        • SNSアプリを作る時に必要なものを用意しました!

                                                          iOS Advent Calendar 2023 14日目の記事になります。 こんにちは、noppeです。 Nightfox DAWN for mastodonというiOSのマストドンクライアントを作っています。 実は、このDAWNではマストドンアプリでよく使う処理をオープンソースで提供しています。 今日はDAWNから産まれたオープンソースライブラリを紹介します。どれもMITライセンスなので、マストドンアプリでもそうでなくても自由に使っていただけます。 READMEには採用アプリの紹介欄も設けていますので、ぜひアプリで使ったら教えてくださいね! DAWNText DAWNTextは、SwiftUI上でTextKit2を利用するライブラリです。 SwiftUIのTextでは範囲選択や、NSTextAttachmentによる絵文字の埋め込みが出来ないため開発しました。 セルフリサイズにも対応し

                                                            SNSアプリを作る時に必要なものを用意しました!
                                                          • ドイツでソフトウェアエンジニアとして採用されたお話|hcrane

                                                            1. 前書き絶賛コロナ禍ですね。。笑 日本では「ANAが新卒採用を中断」したり、世界では「Airbnbが従業員の25%をレイオフ」したりと、なにかと雇用関係の話が上がってきます。 しかしながら、IT関連の会社ではダメージが少なく、コロナ前からのエンジニア売り手市場はそんなに変わっていないというのが個人的な印象です。 (ビジネスモデル的に体力がない会社は採用を控えてると思いますが。。) そんな中、国を跨いでドイツで採用されました。大変悩んだ末にお断りさせていただいたのですが、そんな経験を備忘録として残しておきたいと思います。 2. なぜドイツで働こうと思ったのか? 正直にいうと、わざわざ好んで選んだわけではありません笑 今後のキャリアを見据えエンジニア + αとして勝負できる必要があるなと考えており、海外で働く(または日本にある外資系企業で)という選択肢を視野に入れ、密かに英語の勉強をしてい

                                                              ドイツでソフトウェアエンジニアとして採用されたお話|hcrane
                                                            • [Swift] Compositional Layoutsで実現する疎結合な実装 - Qiita

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

                                                                [Swift] Compositional Layoutsで実現する疎結合な実装 - Qiita
                                                              • Amazon AthenaのPartition Projectionを使ったALB Access Logの実例 (w/ terraform & glue catalog) - Gunosy Tech Blog

                                                                こんにちは、グノシー広告技術部、Adnwチームでマネージャーをやっているサンドバーグです! この記事は Gunosy Advent Calendar 2020 18日目の物となります。 昨日はsyouitさんの変更に強いリスト面とUICollectionViewの話でした。 内容としては弊社のiOSアプリでUITableViewの代わりにUICollectionViewを使っている理由と利点でした。 自分はiOSの開発やアプリ開発自体には関わることがほぼないのですが、わかりやすい説明だったので、まだ読まれていない方は是非読んでください! はじめに 使ったツール・サービス・機能 Terraform Amazon Athena Link Partition Projection Link ALB Access logs Link 実装 Terraform - バケット・バケットポリシーの作成

                                                                  Amazon AthenaのPartition Projectionを使ったALB Access Logの実例 (w/ terraform & glue catalog) - Gunosy Tech Blog
                                                                • マルチペイン型UIの設計観点/iOS 14の新しいスプリットビュー|usagimaru

                                                                  デスクトップ向けのアプリケーションやWebサイトなどでよく見られるパターン「マルチペイン型UI」の設計とその考え方を深掘りしてみます。今回は特にiOSにおけるiPad向けの新しいスプリットビュー/サイドバーのスタイルについて触れたいと思います。 ※iPadOSもiOSで括っています。 この記事の対象読者は次のような属性の方を想定しています: ・UIデザイナー ・iOSデベロッパー ・iPadのネイティブインターフェイスを設計しようとしている マルチペインに関わる要素と言葉の定義 マルチペイン–インターフェイス / Multi-Pane Interface 複数のペインから成るレイアウトパターン。ある矩形領域(ウインドウなど)があったとき、その内側を複数の領域—ペイン—で区切り、それぞれに意味と役割を与えるもの。マルチペインレイアウトを提供するコンテナを「スプリットビュー」と呼ぶこともある。

                                                                    マルチペイン型UIの設計観点/iOS 14の新しいスプリットビュー|usagimaru
                                                                  • 【Flutter】ListViewなどにスクロールバーを表示させる方法

                                                                    ListViewやGridViewにスクロールバーを表示するには、Scrollbarを追加する必要があります。 Scrollbarで対象のリスト系WidgetをWrapするだけです。 ListViewの場合は以下のコードのようなイメージです。 Scrollbar( child: ListView.builder( itemCount: items.length, itemBuilder: (context, index) { return Container( child: Text("${items[index].title}"), ); }, ), ), GridViewの場合も同様なので、ListViewをGridViewに置き換えてもらえればOKです。 筆者の場合は、GroupGridViewというパッケージを使用している箇所で適用しましたが、問題なくスクロールバーが表示されました

                                                                      【Flutter】ListViewなどにスクロールバーを表示させる方法
                                                                    • 2021年にSwiftUIを部分利用しつつ新規のiOSアプリを作った - Gunosy Tech Blog

                                                                      こんにちは。iOSアプリ開発をしている吉岡(@rikusouda)です。リモートワークが続いたためか家を買ったり車を買ったり散財が激しいこの頃です。 業務では、2021年4月に新規リリースした「auサービスToday」というアプリの開発をしています。 概要 アプリに求められていた要件 方針ぎめ ソースコード流用か新規開発か 設計方針 利用ライブラリの選定 Alamofire Realm RxSwift auサービスTodayで利用しているライブラリ ターゲットiOSバージョンが13に決定 RxSwiftからCombineへの乗り換え SwiftUIの部分導入 画面をまるごとUIHostingControllerで作成する例 UIKitの画面の子要素としてSwiftUIの表示 SwiftUIの部分導入の感想 さいごに 概要 Gunosy社は社名と同じ名前のアプリ「グノシー」のイメージが強いか

                                                                        2021年にSwiftUIを部分利用しつつ新規のiOSアプリを作った - Gunosy Tech Blog
                                                                      • 【iOS14】UICollectionView WWDC2020 アップデートまとめ - Qiita

                                                                        ※ この記事は2020/7/9時点の内容を元に作成しています。 ※ 2020/7/9 ListsのSwipeをハンドリングする設定がUICollectionViewListCellからUICollectionLayoutListConfigurationに移動しました。 ※ 2020/8/23 textLayoutGuideについて追記しました。 今回もたくさんアップデートがありました WWDC2019に引き続き WWDC2020でもUICollectionViewには 様々な新しいAPIが追加されました。 SectionベースでのUICollectionViewの構築 UITableViewのようなListsの登場 Reusableで豊富なdefault設定とカスタマイズが可能なConfigurationの登場 などがあります。 今回はその内容についてまとめてみます。 参照にしたセッショ

                                                                          【iOS14】UICollectionView WWDC2020 アップデートまとめ - Qiita
                                                                        • SwiftUIでカルーセルを実装する|takahashi

                                                                          こんにちは。iOSエンジニアの高橋です! 最近本格的にSwiftUIで画面を作成する機会があり、今まで苦労していた画面作成があっという間にできてしまう体験に日々驚いています。ただ、これまでUIKitでできていたことが出来なくなっていることもあり、考え方を変えなければいけない場面があります。今回はおそらくその一つになるカルーセルを作成してみたいと思います。 今回実装するもの 1. 画面の中心にViewが止まる 2. 両サイドに前後のViewが見える完成コードimport SwiftUI struct ContentView: View { @State private var currentIndex = 0 @State private var examples = ["1", "2", "3", "4"] @GestureState private var dragOffset: CGF

                                                                            SwiftUIでカルーセルを実装する|takahashi
                                                                          • noteのiOSアプリの新タイムラインを実装しました

                                                                            YouTubeのホーム画面ってすごいですよね。 見たい動画がないとき、何回もリロードして、良さそうな動画が出てきたら見るという動きを気づいたらするようになっていました。 2022年に、noteのホームタイムラインも、自分の興味関心に応じた記事が出るようになりました。 どういう仕組みで記事をレコメンドしてるかとか機械学習をどう使ってるかとか、そういうコアな話はkihaさんの書いたこちらの記事をお読みください。 わたくしはiOSアプリの実装を担当しまして、↓アプリはこんな感じのタイムラインになりました。 本記事ではiOS側の新タイムライン実装について書こうと思います。 リリース時期的にはちょっと古い話題になりますが、個人的に今年一番大きかった案件なので、書かせてください。 Advent Calendar この記事はnote株式会社 Advent Calendar 2022 9日目の記事です。

                                                                              noteのiOSアプリの新タイムラインを実装しました
                                                                            • モダンCollectionViewとSwiftUIのハイブリッドを実現する - Qiita

                                                                              はじめに SwiftUIはこれまでのiOSアプリにおけるUI実装上の課題を解消する新技術として登場し、徐々にプロダクションでも利用されて来ていると思います。しかしまだ、UIKitでできていたことがすべて置き換えられる段階ではないというのも事実でしょう。一方で、UIKitの世界にもUICollectionViewのCompositionalLayoutやDiffableDataSourceといった便利で使いやすいAPIが登場しています。 このようなタイミングで既存のアプリに機能的にかなり独立した画面を新たに追加することになったので、ベースを UICollectionView + CompositionalLayout + DiffableDataSource (いわゆるModern Collection View)で実装し、セルの中身にSwiftUIを利用するという、UIKitとSwiftU

                                                                                モダンCollectionViewとSwiftUIのハイブリッドを実現する - 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】
                                                                                • [Swift] Delegate Protocol でメソッドを定義するときの書き方と考え方について | DevelopersIO

                                                                                  iOSアプリ開発初学者には、なんとなくとっつきにくい `Delegate`パターンの書き方とその考え方をまとめました。 はじめに CX事業本部の中安です。まいどです。 久々にブログを書きます。 iOSアプリ開発では、設計パターンのひとつである Delegate パターンがよく使われています。 主に標準UI系クラス(たとえばテーブルビューや、コレクションビュー、テキストビューなど)でよく目にすると思います。 もちろん、UI系に限らずXMLパーサなどでも使用されていますし、サードパーティ製ライブラリのクラスでも標準APIに従う形で Delegate パターンで実装されているものも多いです。 今回は Delegate パターンに従って Protocol を自作する際の定義方法をまとめていきたいと思います。 iOSアプリ開発を始めたばかりの方のお役に立てれば幸いです。 Delegateパターンにつ

                                                                                    [Swift] Delegate Protocol でメソッドを定義するときの書き方と考え方について | DevelopersIO