Full Screen Cover: یہ کیا ہے، فل سکرین پریزینٹیشن اور UIKit

مصنف: IT Sectr اشاعت: 2026-06-09 مطالعے کا وقت: 5 منٹ

Full Screen Cover iOS میں موڈل پریزینٹیشن کا ایک انداز ہے جس میں نئی سکرین والد مواد کی مرئی کے بغیر پورے ڈسپلے پر قابض ہو جاتی ہے۔ Page Sheet کے برعکس، Full Screen Cover پچھلی سکرین کو مکمل طور پر چھپاتا ہے اور میڈیا مواد، فوٹو ایڈیٹر اور اختیار کی سکرینوں کے لیے استعمال ہوتا ہے۔ Apple Developer, 2025 کے مطابق، یہ انداز iOS 13 تک پہلے سے طے شدہ تھا، لیکن مغموس کن مناظر کے لیے اب بھی ترجیح دیا جاتا ہے۔ SwiftUI میں، .fullScreenCover ترمیم کنندہ فل سکرین پریزینٹیشن کے لیے ایک اعلانی API فراہم کرتا ہے۔

اہم نکات

  • Full Screen Cover iOS میں ایک فل سکرین موڈل پریزینٹیشن ہے جو نمائش کی پوری مدت کے لیے والد مواد کو چھپاتا ہے۔
  • UIModalPresentationStyle.fullScreen UIKit میں ایک مساقر ہے جو present کال کرتے وقت فل سکرین موڈ مقرر کرتا ہے۔
  • SwiftUI فل سکرین موڈل وینڈو کی اعلانی تخلیق کے لیے .fullScreenCover ترمیم کنندہ فراہم کرتا ہے۔
  • Full Screen Cover پس منظر کو مکمل طور پر چھپانے اور سوائپ سے انٹریکٹیو بند نہ ہونے میں Page Sheet سے مختلف ہے۔
  • استعمال ہوتا ہے ویڈیو پلیئر، کیمرا، فوٹو ایڈیٹر، PDF دیکھنے اور دیگر مغموس مناظر کے لیے۔

iOS میں Full Screen Cover کیا ہے؟

Full Screen Cover iOS میں موڈل پریزینٹیشن کا ایک انداز ہے جس میں پیش کیا گیا کنٹرولر پورے آلے کی سکرین پر قابض ہو جاتا ہے۔ والد مواد مکمل طور پر چھپ جاتا ہے، ایک مغموس اثر پیدا کرتا ہے اور صارف کو موجودہ کام پر مرکوز کرتا ہے۔

iOS 13 سے پہلے، Full Screen Cover iPhone پر واحد موڈل پریزینٹیشن انداز تھا۔ present(_:animated:completion:) کی تمام کالیاں طے طور پر .fullScreen استعمال کرتی تھیں۔ iOS 13 سے شروع کرکے، Apple نے طے شدہ انداز کو .automatic میں بدل دیا، جو iPhone کے لیے .pageSheet کا انتخاب کرتا ہے۔ تاہم، Full Screen Cover اب بھی دستیاب ہے اور ان مناظر کے لیے استعمال ہوتا ہے جہاں مکمل توجہ اہم ہے۔

Page Sheet کے برعکس، Full Screen Cover والد مواد کے ساتھ بات چیت کی اجازت نہیں دیتا اور نہ ہی اسے موڈل وینڈو کے نیچے دیکھاتا ہے۔ صارف Full Screen Cover کو نیچے سوائپ کرکے بند نہیں کر سکتا — بند کرنے کے لیے dismiss(animated:completion:) کا پروگرامی کال یا سکرین پر ایک بند بٹن درکار ہے۔ UX ڈزائن کرتے وقت اس رویے پر غور کرنا اہم ہے۔

Full Screen Cover بنام Page Sheet: اندازوں کا موازنہ

Page Sheet دوسرا اہم موڈل پریزینٹیشن انداز ہے، جو iOS 13 میں متعارف کرایا گیا تھا۔ Page Sheet ایک کارڈ کے طور پر اوپر کے مارجن کے ساتھ ظاہر ہوتا ہے، جس کے نیچے والد سکرین نظر آتی ہے۔ صارف نیچے سوائپ کرکے Page Sheet کو بند کر سکتا ہے۔ Full Screen Cover، اس کے برعکس، والد مواد کو چھپاتا ہے اور سوائپ بند کی حمایت نہیں کرتا۔

خصوصیاتFull Screen CoverPage Sheet
پس منظر کا احاطہمکمل، والد مواد نظر نہیں آتاجزئی، والد کارڈ کے نیچے نظر آتا ہے
سوائپ سے بندنہیں، صرف پروگرامی یا بٹن سےہاں، نیچے سوائپ کرنے سے بند ہوجاتا ہے
معمولی استعمالویڈیو، کیمرا، فوٹو ایڈیٹر، PDFفارم، ترتیبات، مفصل منظر
پریزینٹیشن اینیمیشننیچے سے اوپر، فل سکریننیچے سے اوپر، مارجن کے ساتھ کارڈ
دستیابیiOS 2+iOS 13+

Full Screen Cover اور Page Sheet کے درمیان انتخاب کا انحصار مواد اور سیاق پر ہے۔ سفارش کی جاتی ہے Full Screen Cover کو ان مواد کے لیے استعمال کیا جائے جنہیں مکمل توجہ کی ضرورت ہے: فل سکرین ویڈیو، فوٹو پری ویو، دستاویز اسکیننگ۔ Page Sheet ان کاموں کے لیے ہے جہاں والد سکرین کا سیاق اہم ہے: ترمیم فارم، اختیارات کا انتخاب، مفصل منظر۔

UIKit میں نفاذ: UIModalPresentationStyle

UIKit موڈل پریزینٹیشن انداز کو ترتیب دینے کے لیے UIModalPresentationStyle.fullScreen مساقر فراہم کرتا ہے۔ present کال کرنے سے پہلے UIViewController پر یہ خاصیت مقرر کرنے سے یقینی ہوتا ہے کہ کنٹرولر فل سکرین پر ظاہر ہوگا۔ کنٹرولر کیبورڈ ظاہر ہونے پر رویے کا بھی انتظام کرتا ہے اور سسٹم واقعات کو ہنڈل کرتا ہے۔

ترتیب اور نائب

.fullScreen انداز مقرر کرنے کے بعد، بند کرنے کے واقعات کو سنبھالنے کے لیے presentationController?.delegate ترتیب دینے کی سفارش کی جاتی ہے۔ UIAdaptivePresentationControllerDelegate نائب بند کرنے کی کوششوں کو روکنے اور ڈیٹا کے نقصان کو روکنے کی اجازت دیتا ہے۔ Page Sheet کے برعکس، Full Screen Cover کے لیے نائب صرف پروگرامی dismiss کالیاں پر چالو ہوتا ہے۔

گھومنے اور کیبورڈ کا انتظام

Full Screen Cover سکرین کے گھومنے اور کیبورڈ کے ظاہر ہونے کو صحیح طور پر سنبھالتا ہے۔ گھومنے پر، موڈل کنٹرولر خود بخود نئی سمت کے مطابق ڢھ جاتا ہے۔ UIKeyboardWillShowNotification کیبورڈ ظاہر ہونے پر مواد کو اوپر لے جانے کی اجازت دیتا ہے، تاکہ متن کے میدان نظر آتے رہیں۔ Page Sheet کے برعکس، Full Screen Cover کیبورڈ ظاہر ہونے پر اپنا حجم نہیں بدلتا۔

swift
let playerVC = VideoPlayerViewController()
playerVC.modalPresentationStyle = .fullScreen
playerVC.modalTransitionStyle = .crossDissolve
present(playerVC, animated: true) {
    playerVC.startPlayback()
}

// بند کریں
dismiss(animated: true) {
    print("پلیئر بند کر دیا گیا")
}

SwiftUI: .fullScreenCover ترمیم کنندہ

SwiftUI فل سکرین موڈل وینڈو کی اعلانی تخلیق کے لیے ترمیم کنندہ .fullScreenCover فراہم کرتا ہے۔ .sheet (Page Sheet) کے برعکس، .fullScreenCover ایکجہی رویے کے ساتھ .fullScreen انداز تخلیق کرتا ہے: مکمل مواد احاطہ اور سوائپ سے بند نہیں ہوتا۔

Binding اور ڈیٹا کے ساتھ استعمال

ترمیم کنندہ Bool یا ایک اختیاری قابل شناخت آئٹم میں binding قبول کرتا ہے۔ جب binding true پر مقرر کی جاتی ہے، SwiftUI فل سکرین وینڈو کے ظاہر ہونے کو اینیمیٹ کرتا ہے۔ ڈیٹا منتقل کرنے کے لیے onDismiss پیرامیٹر اور مواد کے ساتھ ایک کلوزر استعمال ہوتا ہے۔ \.dismiss ماحول کی قیمت موڈل وینڈو کو اندر سے بند کرنے کی اجازت دیتی ہے۔

Full Screen Cover بنام Sheet

SwiftUI میں .fullScreenCover اور .sheet کے درمیان انتخاب UIKit کے مشابہ ہے: .fullScreenCover مغموس مواد کے لیے، .sheet کارڈ کے لیے۔ SwiftUI خود بخود صحیح بند کے رویے کا انتخاب کرتا ہے: .sheet سوائپ سے بند کیا جا سکتا ہے، .fullScreenCover صرف پروگرامی۔ ترمیمات کو ایک View کے درجہ بندی میں مضمون کیا جا سکتا ہے۔

swift
struct CameraView: View {
    @State private var showCamera = false

    var body: some View {
        Button("کیمرا کھولیں") {
            showCamera = true
        }
        .fullScreenCover(isPresented: $showCamera) {
            CameraPreviewView()
                .ignoresSafeArea()
        }
    }
}

struct CameraPreviewView: View {
    @Environment(\.dismiss) private var dismiss

    var body: some View {
        ZStack {
            Color.black.ignoresSafeArea()
            VStack {
                Spacer()
                Button("کیپچر") { dismiss() }
                    .foregroundColor(.white)
            }
        }
    }
}

کسٹم اینیمیشنز اور ٹرانزیشنز

Full Screen Cover UIKit میں UIModalTransitionStyle اور SwiftUI میں کسٹم ٹرانزیشنز کے ذریعہ کسٹم اینیمیشنز کی حمایت کرتا ہے۔ معیاری اندازوں میں شامل ہیں: .coverVertical (نیچے سے اوپر), .crossDissolve (آہستہ ظاہر ہونا), .flipHorizontal (پلٹنا) اور .partialCurl (ورق کا اثر)۔

UIKit: UIViewControllerAnimatedTransitioning

مکمل طور پر کسٹم اینیمیشن کے لیے، UIViewControllerAnimatedTransitioning پروٹوکل نفاذ کریں۔ یہ animateTransition(using:) طریقے کے ذریعہ اینیمیشن کی میاد اور ٹرانزیشن کو متعین کرنے کی اجازت دیتا ہے۔ اینیمیشن کنٹرولر UINavigationControllerDelegate یا UIViewControllerTransitioningDelegate کے ذریعہ مقرر کیا جاتا ہے۔

SwiftUI: Matched Geometry Effect

SwiftUI میں، .fullScreenCover کے لیے کسٹم ٹرانزیشنز matchedGeometryEffect کا استعمال کرکے تخلیق کیئے جاتے ہیں۔ یہ ترمیم کنندہ ایک عنصر کو والد View سے فل سکرین وینڈو میں لے جانے کی اینیمیشن کرتا ہے۔ مثال کے طور پر، فوٹو کے تھمب نےل پر ٹاپ کرنے پر یہ آہستہ فل سکرین پر پھیل جاتا ہے، ایک تسلسل کا اثر پیدا کرتا ہے۔ matchedGeometryEffect ایڡ اور namespace کے ساتھ کام کرتا ہے جو عنصر کو مبدئی اور منزل کی پوزیشنوں میں منسلک کرتا ہے۔

swift
struct PhotoViewer: View {
    @State private var selectedPhoto: String?
    @Namespace private var animation

    var body: some View {
        HStack {
            ForEach(["photo1", "photo2"], id: \.self) { photo in
                Image(photo)
                    .matchedGeometryEffect(id: photo, in: animation)
                    .onTapGesture { selectedPhoto = photo }
            }
        }
        .fullScreenCover(item: $selectedPhoto) { photo in
            Image(photo)
                .matchedGeometryEffect(id: photo, in: animation)
                .ignoresSafeArea()
        }
    }
}

Full Screen Cover کب استعمال کریں؟

Full Screen Cover ان مناظر کے لیے سفارش کی جاتی ہے جہاں مواد والد انٹرفیس سے خلل کے بغیر پوری سکرین پر ہونے چاہیئے۔ Apple HIG تین اہم زمرے کی شناخت کرتا ہے: میڈیا مواد، مواد تخلیق کے اوزار اور عارضی سسٹم انٹرفیسز۔

میڈیا اور تفریح

ویڈیو پلیئر، فوٹو دیکھنا، PDF اور کامکس پڑھنا Full Screen Cover کے معمولی استعمال کی مثالیں ہیں۔ iOS میں AVPlayerViewController لینڈ سکیپ پر جانے پر خود بخود فل سکرین موڈ استعمال کرتا ہے۔ Adobe Lightroom جیسے فوٹو ایڈیٹر فوٹو لائبریری کے اوپر فل سکرین ایڈیٹر کھولتے ہیں۔

مواد تخلیق کے اوزار

کیمرا، دستاویز اسکینر، آواز ریکارڈنگ — ایسے کام جنہیں صارف کی مکمل توجہ کی ضرورت ہے۔ UIImagePickerController iOS 14 سے پہلے کیمرا کے لیے Full Screen Cover استعمال کرتا تھا۔ iOS 14 سے شروع کرکے، سسٹم پاکر Page Sheet استعمال کرتا ہے، لیکن ڈیولپر کسٹم کیمرا کے لیے .fullScreen مجبور کر سکتا ہے۔

کین چیزوں سے بچیں

Full Screen Cover کو ان کے لیے استعمال نکریں: اندراج کے فارم (Page Sheet بہتر ہے)، متن درج کے ساتھ والی سکرینیں جہاں والد صفحہ کا سیاق اہم ہے، اور موڈل وینڈو کے اندر مسلسل نیویگیشن۔ Material Design بھی سسٹم کے پیچے بٹن کو بلاک کرنے سے بچنے کی سفارش کرتا ہے — iOS میں یہ قابل قبول ہے، لیکن صارف کے پاس UI عنصر کے ذریعہ بند کرنے کا ایک واضح طریقہ ہونا چاہیئے۔

اکثر پوچے جانے والے سوالات

iOS میں .fullScreen اور .overFullScreen میں کیا فرق ہے؟

.fullScreen والد کنٹرولر کو چھپاتا ہے اور اسے نمائش کے درجہ بندی سے ہٹا دیتا ہے۔ .overFullScreen موڈل کنٹرولر کو والد کے اوپر دیکھاتا ہے، لیکن والد درجہ بندی میں رہتا ہے اور واقعات وصول کرتا رہتا ہے۔ overFullScreen شفاف پس منظر اور کسٹم لیر اینیمیشنز کے لیے مفید ہے۔

Apple نے طے شدہ انداز کو fullScreen سے pageSheet میں کیوں بدلا؟

Apple نے iOS 13 میں صارف کے تعامل کو بہتر کرنے کے لیے طے شدہ انداز بدلا۔ Page Sheet والد سکرین کا سیاق دیکھنے اور سوائپ سے موڈل وینڈو بند کرنے کی اجازت دیتا ہے، جو نیویگیشن کو تیز کرتا ہے۔ Full Screen Cover ان مناظر کے لیے رہتا ہے جہاں پس منظر سے خلل کے بغیر مکمل توجہ کی ضرورت ہے۔

Full Screen Cover کو پروگرامی طور پر کیسے بند کریں؟

UIKit میں، presentingViewController یا presentedViewController پر dismiss(animated:completion:) کال کریں۔ SwiftUI میں، \.dismiss ماحول کی قیمت استعمال کریں اور اسے ایک فنکشن کے طور پر کال کریں۔ والد کنٹرولر سے پروگرامی بند کرنے کے لیے، .fullScreenCover کو پاس کیا گیا binding کو false پر مقرر کریں۔

کیا Full Screen Cover iPad پر کام کرتا ہے؟

ہاں، Full Screen Cover iPad پر کام کرتا ہے۔ iPad کے لیے اضافی انداز دستیاب ہیں: .formSheet (مرکزی مقرر سائز کی وینڈو) اور .currentContext (والد کنٹرولر کے نسبت)۔ iPad پر، Full Screen Cover Page Sheet کے طور پر ظاہر ہو سکتا ہے اگر modalPresentationStyle واضح طور پر مقرر نہ کیا گیا ہو۔

Full Screen Cover بند کرتے وقت ڈیٹا کے نقصان کو کیسے روکیں؟

Page Sheet کے برعکس، Full Screen Cover سوائپ سے بند نہیں ہوتا، لہذا ڈیٹا کا نقصان صرف پروگرامی dismiss سے ممکن ہے۔ dismiss(animated:completion:) طریقے کو اووررائیڈ کریں یا UIAdaptivePresentationControllerDelegate استعمال کریں، جو بند کرنے سے پہلے کال کیا جاتا ہے۔ اختیارات کے ساتھ UIAlertController دیکھائیں: محفوظ کریں، منسوخ کریں یا سکرین پر رہیں۔

خلاصہ

  • Full Screen Cover iOS میں ایک موڈل پریزینٹیشن انداز ہے جو والد مواد کو چھپاتا ہے اور پوری سکرین پر قابض ہوتا ہے۔
  • UIKit کسٹم ٹرانزیشن اینیمیشنز کے ساتھ UIModalPresentationStyle.fullScreen کے ذریعہ Full Screen Cover نفاذ کرتا ہے۔
  • SwiftUI هموار ٹرانزیشن کے لیے matchedGeometryEffect کی حمایت کے ساتھ .fullScreenCover ترمیم کنندہ فراہم کرتا ہے۔
  • Full Screen سوائپ سے بند نہ ہونے اور والد مواد کے مکمل احاطے میں Page Sheet سے مختلف ہے۔
  • سفارش کی جاتی ہے ویڈیو پلیئر، کیمرا، فوٹو ایڈیٹر اور دیگر مغموس مناظر کے لیے۔
  • سفارش نہیں کی جاتی درج کے فارم، ترتیبات اور موڈل وینڈو کے اندر نیویگیشن کے سلسلے کے لیے۔
  • ڈیٹا کے نقصان کو روکیں بند کرتے وقت تصدیق کے ڈالک کے ساتھ UIAdaptivePresentationControllerDelegate کے ذریعہ۔

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں