Slide Over — این یک حالت چندوظیفهای در iPad است که در آن برنامه دوم در یک پنجره شناور بالای برنامه اصلی نمایش داده میشود. پنجره تقریباً یک چهارم عرض صفحه را اشغال میکند، میتوان آن را به چپ یا راست حرکت داد و با کشیدن مخفی کرد. به گزارش Apple Human Interface Guidelines (2025)، Slide Over در همه مدلهای iPad از iOS 9 در دسترس است و بخشی از سیستم چندوظیفهای iPadOS است.
خلاصه
Slide Over — یک حالت چندوظیفهای اختصاصی برای iPad است که برنامه دوم را در یک پنجره شناور باریک نمایش میدهد. برخلاف Split View که صفحه به دو بخش مساوی تقسیم میشود، Slide Over بالای رابط اصلی قرار میگیرد و به کاربر امکان دسترسی سریع به مطالب مرجع، پیامرسانها یا پخشکننده را میدهد.
این حالت همراه با iOS 9 و Split View معرفی شد و در ابتدا فقط در iPad Air 2، iPad mini 4 و iPad Pro پشتیبانی میشد. امروزه Slide Over در همه مدلهای iPad از جمله iPad نسل ۱۰ و iPad mini (A17 Pro) کار میکند. برای توسعهدهنده، Slide Over به این معناست که برنامه میتواند در پنجرهای به عرض ۳۲۰ pt — Size Class فشرده — نمایش داده شود.
کاربر Slide Over را با کشیدن از لبه راست صفحه یا با کشیدن آیکون از Dock به سمت راست صفحه باز میکند. در پنجره Slide Over میتوان هر برنامهای را اجرا کرد — نیاز به پشتیبانی خاصی نیست، اگرچه برنامههای سازگارشده بسیار بهتر به نظر میرسند.
Slide Over به عنوان یک UIWindowScene مجزا بالای پنجره اصلی پیادهسازی شده است. هر برنامه در Slide Over نمونه UIWindowScene خود را با عرض ۳۲۰ pt (در حالت عمودی) دریافت میکند. کاربر میتواند یک برنامه در Slide Over داشته باشد — برنامه دوم اجراشده جایگزین اولی میشود.
پنجره Slide Over را میتوان با کشیدن دسته مخصوص (pill) در بالای پنجره جابهجا کرد. اگر پنجره را به لبه چپ بکشید — در سمت چپ قفل میشود. اگر پنجره را کاملاً به راست بکشید — به یک پنل نامرئی جمع میشود و با کشیدن از لبه راست فعال میشود. سیستم آخرین برنامه اجراشده در Slide Over را به خاطر میسپارد.
ویژگی کلیدی — Slide Over میتواند به Split View تبدیل شود. اگر کاربر پنجره Slide Over را به لبه بالا یا پایین بکشد، حالت به Split View تغییر میکند. در این حالت هر دو برنامه تقسیمبندی کامل صفحه با سهمهای مساوی دریافت میکنند.
تفاوت اصلی در توزیع فضای صفحه است. Split View صفحه را به دو بخش مساوی یا متناسب تقسیم میکند، هر برنامه یک منطقه ثابت دریافت میکند. Slide Over فضای برنامه اصلی را نمیگیرد — آن تمامصفحه باقی میماند و Slide Over روی آن نمایش داده میشود.
تفاوت دوم — تمرکز. در Split View هر دو برنامه همزمان فعال و قابل مشاهده هستند. در Slide Over برنامه اصلی تمرکز را از دست میدهد (onResignActive دریافت میکند) و Slide Over تمرکز و تعاملپذیری را دریافت میکند. هنگام مخفیشدن Slide Over، تمرکز به برنامه اصلی بازمیگردد.
تفاوت سوم — تعداد سناریوها. Split View از توسعهدهنده پشتیبانی از چندین عرض را میخواهد. Slide Over همیشه عرض ۳۲۰ pt دارد — یک اندازه فشرده ثابت. این کار توسعه را ساده میکند: یک طرح تطبیقی برای این اندازه کافی است.
| ویژگی | Slide Over | Split View |
|---|---|---|
| اندازه پنجره | ۳۲۰ pt (عرض ثابت) | ۵۰٪، ۲۵٪ یا ۷۵٪ صفحه |
| موقعیت | بالای برنامه اصلی | کنار، تقسیم صفحه |
| تمرکز | فقط Slide Over فعال است | هر دو برنامه میتوانند فعال باشند |
| Size Class | Compact Width, Regular Height | بستگی به سهم دارد |
برای عملکرد صحیح در Slide Over، برنامه باید از Size Class Compact Width پشتیبانی کند. این به این معناست که رابط باید در عرض ۳۲۰ pt جا شود. توصیههای اصلی Apple: از Auto Layout با محدودیتهای تطبیقی استفاده کنید، از عرضهای ثابت خودداری کنید، همه صفحهها را در شبیهساز iPad با Slide Over آزمایش کنید.
در عمل، سازگاری به استفاده از UIStackView یا SwiftUI با VStack/HStack خلاصه میشود که به طور خودکار با فضای موجود تطبیق مییابند. جداول (UITableView) و مجموعهها (UICollectionView) در برنامه به درستی کار میکنند اگر سلولهای آنها از اندازه خودتعیینکننده (self-sizing cells) استفاده کنند.
برای UIKit از UITraitCollection با بررسی horizontalSizeClass استفاده کنید. اگر کلاس برابر .compact بود — رابط را به نسخه سادهشده تغییر دهید: ستونهای اضافی را حذف کنید، Sidebar را با StackView جایگزین کنید. SwiftUI این کار را به طور خودکار از طریق @Environment(\.horizontalSizeClass) انجام میدهد.
وقتی برنامه در Slide Over باز میشود، UIScene آن اعلان sceneWillEnterForeground را دریافت میکند. پس از آن صحنه به حالت foreground active میرود — درست مانند راهاندازی تمامصفحه. تفاوتی در چرخه حیات بین حالت تمامصفحه و Slide Over وجود ندارد: sceneWillEnterForeground و sceneDidBecomeActive.
هنگام بازگشت از Slide Over به حالت تمامصفحه یا هنگام مخفیشدن پنجره، صحنه sceneDidEnterBackground را دریافت میکند. اگر کاربر Slide Over را به راست بکشد (مخفی کند)، برنامه تا زمانی که برنامه Slide Over دیگری جایگزین آن شود یا سیستم حافظه را آزاد کند، در پسزمینه به کار ادامه میدهد.
برای برنامههایی که به حسگرها یا دوربین متکی هستند، Slide Over میتواند مشکلساز باشد. در Slide Over دوربین در دسترس نیست و شتابسنج ممکن است خوانشهای نادرستی بدهد. isDeviceOrientationLocked را بررسی کنید یا در هنگام ورود به Slide Over جهتگیری را اجباری تنظیم کنید.
سؤالات متداول
در حالت عمودی — ۳۲۰ pt. در حالت افقی عرض ممکن است متفاوت باشد، اما horizontalSizeClass Compact باقی میماند. این کلاس فشرده استاندارد Apple است.
بله، UIApplicationSupportsMultipleScenes = NO را در Info.plist تنظیم کنید. برنامه فقط در حالت تمامصفحه باز میشود و Slide Over و Split View در دسترس نخواهند بود.
فقط یک. اجرای برنامه دوم در Slide Over جایگزین برنامه فعلی میشود. iPad از پنجرههای شناور متعدد پشتیبانی نمیکند — این محدودیت iPadOS است.
هر دو برنامه از منابع مشترک iPad استفاده میکنند. برای برنامههای سنگین (بازیها، ویدئو) Slide Over ممکن است نرخ فریم را کاهش دهد. توصیه میشود draw calls را محدود کرده و اگر برنامه در Slide Over کار میکند، انیمیشنها را غیرفعال کنید.
بله. در iPad mini با صفحه ۸.۳ اینچی، Slide Over در همان حالت کار میکند. به دلیل صفحه کوچکتر، پنجره درصد بیشتری از فضا را اشغال میکند، اما رفتار UIScene یکسان باقی میماند.
نتیجهگیری
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید