RORK LABEN
RORKMAX — Rork MaxはReact Nativeではなく純粋なSwiftコードを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまで見据えた真のネイティブアプリを作れますAPPLE — 2026年のRorkはAppleエコシステムのネイティブ強化が明確なテーマになっていますEXPO — 通常の生成はReact NativeとExpoが土台。作業後には本物のプロジェクト構造とコードが残り、そのまま手で育てられますFUNDING — Rorkは直近で1,500万ドルを調達し、月間743,000訪問・85%成長という新たなバイラルを得ていますPRICING — 無料で始められ、有料プランは月額25ドルから。Rork Maxは月額200ドルですCROSS — iOS・Android・Webを単一のプロンプトから生成し、フォローアップの微調整で仕上げられますRORKMAX — Rork MaxはReact Nativeではなく純粋なSwiftコードを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageまで見据えた真のネイティブアプリを作れますAPPLE — 2026年のRorkはAppleエコシステムのネイティブ強化が明確なテーマになっていますEXPO — 通常の生成はReact NativeとExpoが土台。作業後には本物のプロジェクト構造とコードが残り、そのまま手で育てられますFUNDING — Rorkは直近で1,500万ドルを調達し、月間743,000訪問・85%成長という新たなバイラルを得ていますPRICING — 無料で始められ、有料プランは月額25ドルから。Rork Maxは月額200ドルですCROSS — iOS・Android・Webを単一のプロンプトから生成し、フォローアップの微調整で仕上げられます
記事一覧/アプリ開発
アプリ開発/2026-07-14中級

壁紙を長押しして、プレビューと保存メニューを出す — Rork の Expo アプリで context menu を組む

壁紙ギャラリーのカードを長押ししても何も起きない。iOS利用者はプレビュー付きのメニューを期待します。Pressableだけでは届かない理由から、zeegoでのネイティブcontext menu実装、スクロールとの競合解消、保存・共有アクション、Android向けの自前フォールバックまで、動くコードでまとめます。

Rork506Expo140React Native206context menu壁紙アプリ28

プレミアム記事

実機で壁紙ギャラリーをスクロールしていて、ふとカードを長押ししました。何も起きません。iPhone を使い慣れた人ほど、写真アプリやホーム画面の感覚で「長押しすればプレビューとメニューが出るはず」と手が覚えています。その期待に沈黙で応えてしまうと、アプリが一段安っぽく感じられてしまう。個人開発で壁紙アプリを触っていて、この小さな段差が離脱につながる場面を、私自身、何度も見てきました。

Rork が生成する一覧画面は、多くの場合 Pressable にタップ遷移だけを載せた素朴な作りです。まずはそこから、なぜ長押しメニューだけは一手間必要になるのかを整理します。

Pressable の onLongPress で足りない部分

Pressable には onLongPress が用意されているので、長押しの検知そのものはすぐにできます。

<Pressable onPress={openDetail} onLongPress={() => setMenuOpen(true)}>
  <Image source={item.uri} style={styles.card} />
</Pressable>

ただ、これで出せるのは自前で描いたシートやモーダルです。iOS が標準で見せる「対象がふわりと浮き上がり、背景がぼけて、指を離す前にプレビューが見える」あの体験にはなりません。あの浮き上がりと背景ブラーは UIContextMenuInteraction というネイティブの仕組みで、JavaScript 側からビューを重ねても再現しきれない部分です。

つまり判断はこうなります。iOS 利用者に馴染みのある挙動を最優先するなら、ネイティブの context menu を橋渡しするライブラリを使う。細かなアニメーションや Android での見た目を自分で統一したいなら、onLongPress を起点に自前で組む。壁紙アプリのように「保存・共有・お気に入り」という定型の三択を出すだけなら、前者のほうが体験も実装量も有利でした。

二つの実装方針を先に決める

手を動かす前に、両方針の向き不向きを一枚にしておきます。

観点ネイティブ context menu(zeego)自前オーバーレイ(Reanimated)
iOS のプレビュー浮き上がり標準どおりに出る近づけられるが完全一致は難しい
Android の見た目統一Material のポップアップに従う自分で自由に設計できる
実装量少ない多い(ジェスチャと座標計算)
メニュー項目の動的制御やや制約あり柔軟

壁紙ギャラリーでは、iOS の体感を素直に取りに行きたかったので、まず zeego で組み、Android だけ挙動が気になる箇所を自前に寄せる二段構えにしました。zeego はネイティブの context menu を薄くラップし、対応していない環境では通常のメニューへ自動的に落ちてくれます。迷ったら zeego 起点で始めることを推奨します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
Pressable の onLongPress だけでは iOS 標準のプレビュー付きメニューにならない理由と、その分岐点
zeego でネイティブ context menu を組み、スクロールと長押しの競合を delayLongPress で解く実装
保存・共有・お気に入りを一つのメニューに束ね、Android では自前オーバーレイへ切り替える判断
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

アプリ開発2026-07-07
高さの異なる画像を2列で美しく並べる—Rork の Expo アプリで壁紙ギャラリーを段組みにする
縦横比のばらつく画像を numColumns では美しく並べられない理由から、列の高さを見て振り分ける段組みアルゴリズム、FlashList の masonry での仮想化、依存を増やさない実装まで、壁紙ギャラリーを実コードで組みます。
アプリ開発2026-07-05
ワンタイムコードの入力欄をExpoで作る — SMS自動入力とセグメント表示を両立させる
6桁の確認コードを入れる画面は、見た目こそ単純ですが、SMSの自動入力・貼り付け・1文字ずつの削除まで含めると意外と作り込みが必要です。iOSとAndroidの自動入力を最初に押さえ、単一のTextInputで崩れにくいセグメント表示を組む実装をまとめました。
アプリ開発2026-06-27
「本当に削除しますか?」を出す前に — 取り消せる削除という選択肢
リストの項目を消すたびに確認ダイアログを出すと、ユーザーは反射的にOKを押すようになります。Rork(Expo)アプリで「取り消せる削除」を実装し、確認を出すべき場面と出さない場面を切り分ける設計ノートです。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →