UIViewController पर क्लियरकोल UIViewController प्रदर्शित करें


150

मेरे पास एक UIViewControllerअन्य UIViewControllerदृश्य के शीर्ष पर एक सबव्यू / मोडल के रूप में एक दृश्य है, जैसे कि सबव्यू / मोडल पारदर्शी होना चाहिए और सबव्यू में जो भी घटक जोड़ा जाता है वह दिखाई देना चाहिए। समस्या यह है कि मेरे पास सब-क्लीयर होने के बजाय सबव्यू ब्लैक बैकग्राउंड दिखाता है। मैं UIViewएक स्पष्ट पृष्ठभूमि के रूप में बनाने की कोशिश कर रहा हूँ काली पृष्ठभूमि नहीं। क्या किसी को पता है कि इसमें क्या गलत है? किसी भी सुझाव की सराहना की।

FirstViewController.m

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];

[vc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentModalViewController:vc animated:NO];  

SecondViewController.m

- (void)viewDidLoad 
{
     [super viewDidLoad];
     self.view.opaque = YES;
     self.view.backgroundColor = [UIColor clearColor];
}

RESOLVED : मैंने मुद्दे तय किए। यह iPhone और iPad दोनों के लिए इतना अच्छा काम कर रहा है। बिना काले बैकग्राउंड वाले मोडल व्यू कंट्रोलर सिर्फ क्लियर / पारदर्शी। केवल एक चीज है कि मैं परिवर्तन करने की जरूरत है मैं बदल दिया है UIModalPresentationFullScreenकरने के लिए UIModalPresentationCurrentContext। कितना सरल है!

FirstViewController.m

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
vc.view.backgroundColor = [UIColor clearColor];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:vc animated:NO completion:nil];

सूचना: यदि आप एक modalPresentationStyleसंपत्ति का उपयोग कर रहे हैं navigationController:

FirstViewController.m

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
vc.view.backgroundColor = [UIColor clearColor];
self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:vc animated:NO completion:nil];

सूचना: बुरी खबर यह है कि उपरोक्त समाधान iOS 7 पर काम नहीं करता है। अच्छी खबर यह है कि मैंने iOS7 के लिए मुद्दा तय कर दिया है! मैंने किसी से मदद माँगी और यहाँ उसने कहा:

एक दृश्य नियंत्रक को औपचारिक रूप से प्रस्तुत करते समय, iOS दृश्य नियंत्रक को उसके द्वारा प्रस्तुत की गई अवधि के लिए दृश्य पदानुक्रम से हटा देता है। यद्यपि आपके सामान्य रूप से प्रस्तुत दृश्य नियंत्रक का दृश्य पारदर्शी है, लेकिन ऐप विंडो के अलावा इसके नीचे कुछ भी नहीं है, जो कि काला है। iOS 7 ने एक नई मोडल प्रस्तुति शैली पेश की UIModalPresentationCustom, जिसके कारण iOS प्रस्तुत दृश्य नियंत्रक के नीचे के विचारों को नहीं हटा सकता है। हालांकि, इस मोडल प्रस्तुति शैली का उपयोग करने के लिए, आपको प्रस्तुति को संभालने और एनिमेशन को खारिज करने के लिए अपना स्वयं का संक्रमण प्रतिनिधि प्रदान करना होगा। यह डब्ल्यूडीडीसी 2013 https://developer.apple.com/wwdc/videos/?id=218 से 'कस्टम ट्रांज़िशन यूज़ व्यू कंट्रोलर्स की बात का उपयोग' में उल्लिखित है, जिसमें यह भी शामिल है कि अपने स्वयं के संक्रमण प्रतिनिधि को कैसे लागू किया जाए।

आप iOS7 में उपरोक्त मुद्दे के लिए मेरा समाधान देख सकते हैं: https://github.com/hightech/iOS-7-Custom-ModalViewController-Transitions


1
सुनिश्चित करें कि आपने rootViewController के modalPresentationStyle को सेट किया है, अन्यथा यह काम नहीं करेगा
Thorsten

कृपया इस उत्तर पर टिप्पणी पर एक नज़र डालें stackoverflow.com/a/25990081/1418457 , यह काम करता है
onmyway133

यह stackoverflow.com/q/27598846/1603234 मुझे मुस्कुराते हुए, अब अपनी बारी :)
हेमांग

मुझे self.modalPresentationStyle = UIModalPresentationCurrentContext करना था; प्रस्तुत कार्य नियंत्रक के साथ, इसे प्रस्तुत करने के लिए नहीं।
तुललेब

1
नीचे ब्रॉडी के उत्तर की जांच करें। modalViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext; इस मुद्दे को हल करेगा,
GoodSp33d

जवाबों:


143

iOS8 +

IOS8 + में अब आप एक पारदर्शी पृष्ठभूमि के साथ एक दृश्य नियंत्रक प्रस्तुत करने के लिए नए modalPresentationStyle UIModalPresentationOverCurrentContext का उपयोग कर सकते हैं:

MyModalViewController *modalViewController = [[MyModalViewController alloc] init];
modalViewController.modalPresentationStyle = UIModalPresentationOverCurrentContext;           
[self presentViewController:modalViewController animated:YES completion:nil];    

5
स्वीकृत उत्तर होना चाहिए। पहले स्वीकार किए गए उत्तर अभी भी विरासत के कारणों के लिए मान्य है, लेकिन यह अनुशंसित तरीका है।
टॉमस बोक

3
यदि आप केवल ios 8 के लिए विकास कर रहे हैं, तो इस उत्तर के साथ जाएं! यह काम करता है
Mário Carvalho

2
यह अच्छा है, लेकिन अंतिम पंक्ति नहीं होनी चाहिए [self presentViewController:modalViewController animated:YES completion:nil];? (बजाय लक्ष्यकंट्रोलर के)?
सुपरडूंगटैंगो

3
मेरे लिए यह काम करने के लिए मैंने modalViewController.view.backgroundColor = UIColor.clearColor () समाधान के लिए धन्यवाद जोड़ा
Pramod

किसी ने मुझे भी pushviewcontroller के लिए कोड प्रदान कर सकते हैं (मैं नेविगेशन नियंत्रक के लिए मतलब है)।
आलोक

140

RESOLVED : मैंने मुद्दे तय किए। यह iPhone और iPad दोनों के लिए इतना अच्छा काम कर रहा है। बिना काले बैकग्राउंड वाले मोडल व्यू कंट्रोलर सिर्फ क्लियर / पारदर्शी। केवल एक चीज जिसे मुझे बदलने की आवश्यकता है, वह है मैंने UIModalPresentationFullScreen को UIModalPresentationCurrentContext में बदल दिया है। कितना सरल है!

FirstViewController.m

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
    vc.view.backgroundColor = [UIColor clearColor];
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
    [self presentViewController:vc animated:NO completion:nil];

सूचना: यदि आप modalPresentationStyle नेविगेशन नेविगेशन की संपत्ति का उपयोग कर रहे हैं:

FirstViewController.m

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"SecondViewController"];
    vc.view.backgroundColor = [UIColor clearColor];
    self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;
    [self presentViewController:vc animated:NO completion:nil];

सूचना: बुरी खबर यह है कि उपरोक्त समाधान iOS 7 पर काम नहीं करता है। अच्छी खबर यह है कि मैंने iOS7 के लिए मुद्दा तय कर दिया है! मैंने किसी से मदद माँगी और यहाँ उसने कहा:

एक दृश्य नियंत्रक को औपचारिक रूप से प्रस्तुत करते समय, iOS दृश्य नियंत्रक को उसके द्वारा प्रस्तुत की गई अवधि के लिए दृश्य पदानुक्रम से हटा देता है। यद्यपि आपके सामान्य रूप से प्रस्तुत दृश्य नियंत्रक का दृश्य पारदर्शी है, लेकिन ऐप विंडो के अलावा इसके नीचे कुछ भी नहीं है, जो कि काला है। iOS 7 ने एक नई मोडल प्रस्तुति शैली, UIModalPresentationCustom की शुरुआत की, जिसके कारण iOS प्रस्तुत दृश्य नियंत्रक के नीचे के विचारों को नहीं हटा सकता है। हालांकि, इस मोडल प्रस्तुति शैली का उपयोग करने के लिए, आपको प्रस्तुति को संभालने और एनिमेशन को खारिज करने के लिए अपना स्वयं का संक्रमण प्रतिनिधि प्रदान करना होगा। यह डब्ल्यूडीडीसी 2013 https://developer.apple.com/wwdc/videos/?id=218 से 'कस्टम ट्रांज़िशन यूज़ व्यू कंट्रोलर्स की बात का उपयोग' में उल्लिखित है, जिसमें यह भी शामिल है कि अपने स्वयं के संक्रमण प्रतिनिधि को कैसे लागू किया जाए।

आप iOS7 में उपरोक्त मुद्दे के लिए मेरा समाधान देख सकते हैं: https://github.com/hightech/iOS-7-Custom-ModalViewController-Transitions


1
self.modalPresentationStyle = UIModalPresentationCurrentContext;इसे करें।
एड्रियानो लुकास

4
btw .. मैंने देखा है कि self.modalPresentationStyle = UIModalPresentationCurrentContext के कारण; यह एनीमेशन के साथ modalViewController प्रस्तुत नहीं कर रहा है .. किसी भी विचार?
देवर्षि

1
@Miraaj फिर दिखा UIViewController काम करना चाहिए से पहले UIModalPresentationFullScreen को modalPresentationStyle वापस की स्थापनाself.modalPresentationStyle = UIModalPresentationFullScreen; [self performSegueWithIdentifier:@"CustomSegue" sender:self];
ऊँची तकनीकी

1
IOS 6 और 7 में इसे चलाने पर, प्रेजेंटेशन को एनिमेट करते हुए नया व्यू कंट्रोलर क्लियर होता है, लेकिन एक बार बैकग्राउंड के काला हो जाने के बाद। बर्खास्तगी को एनिमेट करते समय यह फिर से स्पष्ट हो जाता है। क्या किसी और के सामने ये समस्या आई थी?
ड्रू सी

3
@pkamb I ने iOS 7 के लिए समाधान अपडेट किया। stackoverflow.com/a/11252969/1344459 मुझे आशा है कि आपकी मदद करता है।
हाईटेक

114

विशुद्ध रूप से दृश्य विचारकों और स्टोरीबोर्ड प्रशंसकों के लिए, आप कर सकते हैं:

1. प्रस्तुत दृश्य नियंत्रक

संदर्भ को परिभाषित करें

2. प्रस्तुत दृश्य नियंत्रक

प्रस्तुति: वर्तमान प्रसंग पर


यह स्वीकृत उत्तर होना चाहिए। यह काम करने के लिए आपको बस इतना करना है, फिर मोडल कंट्रोलर पर व्यू का बैकग्राउंड कलर क्लियर करना है।
जेसी

सहमत, स्टोरीबोर्ड विकल्प इस मामले में कोड को ओवरराइट करते हैं।
C0D3

17
यह जवाब बहुत प्यारा है, मुझे अब मधुमेह है।
जिंककोड

25

स्विफ्ट 3 और iOS10 समाधान:

//create view controller
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "RoadTripPreviewViewController")
//remove black screen in background
vc.modalPresentationStyle = .overCurrentContext
//add clear color background
vc.view.backgroundColor = UIColor.clear
//present modal
self.present(vc, animated: true, completion: nil)

16

यह xCode 7 बीटा 4 से कंट्रोल ड्रैग सेग का उपयोग करता है। बस अपने गंतव्य की पृष्ठभूमि को स्पष्ट करने के लिए सेट करें, और आईबी में इस तरह से गुणों को सेट करें (nb। प्रस्तुति "ओवर फुल स्क्रीन" भी हो सकती है):

यहाँ छवि विवरण दर्ज करें


2
धन्यवाद। मैं अपने sep तय किया था + ViewControllers @pasevin द्वारा जवाब दिया और यह काम किया !!
CSawy

1
इसने मेरे सवाल का जवाब दिया। आपका बहुत बहुत धन्यवाद। अप वोट करें: D
Nate4436271

8

मुझे iOS7 पर काम करने का सबसे आसान तरीका मिल गया और iOS8 को iOS8 के कारण UPodalPresentationOverCurrentContext पर modPresentedVC (ViewController जो वर्तमान में पेश करना चाहते हैं) पर प्रस्तुति को सेट करने के लिए है।

[modallyPresentedVC setModalPresentationStyle:UIModalPresentationOverCurrentContext];
[modallyPresentedVC.navigationController setModalPresentationStyle:UIModalPresentationOverCurrentContext];

और iOS7 के कारण UIModalPresentationCurrentContext प्रस्तुत करने पर (नियंत्रक जो मामूली रूप से प्रस्तुत करता है):

[presentingVC setModalPresentationStyle:UIModalPresentationCurrentContext];
[presentingVC.navigationController setModalPresentationStyle:UIModalPresentationCurrentContext];

क्योंकि iOS7 और iOS8 पर चीजों को अलग-अलग तरीके से हैंडल किया जाता है। यदि आप एक का उपयोग नहीं कर रहे हैं, तो निश्चित रूप से आपको नेविगेशनकंट्रोलर गुण सेट करने की आवश्यकता नहीं है। उम्मीद है की वो मदद करदे।


मेरी बेकन बचा लिया! साभार
बतख

5

स्विफ्ट 2 संस्करण:

let vc = self.storyboard!.instantiateViewControllerWithIdentifier("YourViewController") as! YourViewController
vc.view.backgroundColor = UIColor.clearColor()
vc.modalPresentationStyle = UIModalPresentationStyle.OverFullScreen // orOverCurrentContext to place under navigation
self.presentViewController(vc, animated: true, completion: nil)

4

दूसरा तरीका (कस्टम संक्रमण बनाने की आवश्यकता नहीं है और iOS 7 पर काम करता है)

स्टोरीबोर्ड का उपयोग करना:

स्वतंत्रता आकार के साथ चाइल्ड व्यू कंट्रोलर बनाएं, दृश्य चौड़ाई 500x500 पर सेट करें (उदाहरण के लिए) और अगली विधि जोड़ें:

- (void)viewWillLayoutSubviews{
    [super viewWillLayoutSubviews];
    self.view.superview.bounds = CGRectMake(0, 0, 500, 500);
    self.view.superview.backgroundColor = [UIColor clearColor];
}

फिर फॉर्म शीट के साथ एक मोडल सेगमेंट बनाएं और उसका परीक्षण करें।


तुम कमाल हो!!! यह वास्तव में काम करता है !!! (आईबी में "स्वतंत्रता" आकार सेट करना एंथिंग को प्रभावित नहीं करता है यह एक नकली मीट्रिक है, लेकिन वैसे भी, यह काम करता है !!!) और यह बहुत आसान है !!!
राडू सिमियोनेस्कु

4

कस्टम सेगमेंट के साथ iOS 7 समाधान:

CustomSegue.h
#import <UIKit/UIKit.h>

    @interface CustomSegue : UIStoryboardSegue <UIViewControllerTransitioningDelegate, UIViewControllerAnimatedTransitioning>

    @end



CustomSegue.m
#import "CustomSegue.h"

@implementation CustomSegue

-(void)perform {

    UIViewController* destViewController = (UIViewController*)[self destinationViewController];
    destViewController.view.backgroundColor = [UIColor clearColor];
    [destViewController setTransitioningDelegate:self];
    destViewController.modalPresentationStyle = UIModalPresentationCustom;
    [[self sourceViewController] presentViewController:[self destinationViewController] animated:YES completion:nil];
}


//===================================================================
// - UIViewControllerAnimatedTransitioning
//===================================================================

- (NSTimeInterval)transitionDuration:(id <UIViewControllerContextTransitioning>)transitionContext {
    return 0.25f;
}

- (void)animateTransition:(id <UIViewControllerContextTransitioning>)transitionContext {

    UIView *inView = [transitionContext containerView];
    UIViewController* toVC = (UIViewController*)[transitionContext viewControllerForKey:UITransitionContextToViewControllerKey];
    UIViewController* fromVC = (UIViewController *)[transitionContext viewControllerForKey:UITransitionContextFromViewControllerKey];

    [inView addSubview:toVC.view];

    CGRect screenRect = [[UIScreen mainScreen] bounds];
    [toVC.view setFrame:CGRectMake(0, screenRect.size.height, fromVC.view.frame.size.width, fromVC.view.frame.size.height)];

    [UIView animateWithDuration:0.25f
                     animations:^{

                         [toVC.view setFrame:CGRectMake(0, 0, fromVC.view.frame.size.width, fromVC.view.frame.size.height)];
                     }
                     completion:^(BOOL finished) {
                         [transitionContext completeTransition:YES];
                     }];
}


//===================================================================
// - UIViewControllerTransitioningDelegate
//===================================================================

- (id <UIViewControllerAnimatedTransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source {

    return self;
}

- (id <UIViewControllerAnimatedTransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed {
    //I will fix it later.
    //    AnimatedTransitioning *controller = [[AnimatedTransitioning alloc]init];
    //    controller.isPresenting = NO;
    //    return controller;
    return nil;
}

- (id <UIViewControllerInteractiveTransitioning>)interactionControllerForPresentation:(id <UIViewControllerAnimatedTransitioning>)animator {
    return nil;
}

- (id <UIViewControllerInteractiveTransitioning>)interactionControllerForDismissal:(id <UIViewControllerAnimatedTransitioning>)animator {
    return nil;
}

@end

हाईटेक कोड के आधार पर समाधान।


जब मैं द्वारा खारिज कर दिया गया [आत्म बर्खास्तगी के द्वारा नियंत्रितअनुरक्षित: हाँ पूरा: NULL]; मुझे एक अपवाद मिलता है ??
असदुल्लाह अली

इस कोड के लिए हाँ। या फिर आपको एनीमेशन काम शुरू करने के लिए एनीमेशनकंट्रोलरफोरडिस्मिसडीकंट्रोलर पद्धति को लागू करना होगा।
मैक्स ग्रिबोव जूल

4

मेरे लिए यह काम करता है:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
    UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"MMPushNotificationViewController"];

    vc.view.backgroundColor = [UIColor clearColor];
    self.modalPresentationStyle = UIModalPresentationCurrentContext;
#ifdef __IPHONE_8_0
    if(IS_OS_8_OR_LATER)
    {
        self.providesPresentationContextTransitionStyle = YES;
        self.definesPresentationContext = YES;
        [vc setModalPresentationStyle:UIModalPresentationOverCurrentContext];
    }
#endif


    [self presentViewController:vc animated:NO completion:nil];

MMPushNotificationViewControllerपारदर्शी दृश्य नियंत्रक है और मैंने भी स्पष्ट MMPushNotificationViewControllerरंग के रूप में देखा है। अब सब जो मैंने किया है और अपना ट्रांसपेरेंटव्यूकंट्रोलर बनाया है।


2

IOS7 के लिए

IOS7 कस्टम संक्रमण का उपयोग करके इसे प्राप्त करने का एक तरीका है, इस तरह से:

MyController * controller = [MyController new];
[controller setTransitioningDelegate:self.transitionController];
controller.modalPresentationStyle = UIModalPresentationCustom;
[self controller animated:YES completion:nil];

अपना कस्टम संक्रमण बनाने के लिए, आपको 2 चीज़ों की आवश्यकता है:

  • एक संक्रमणडेलगेट ऑब्जेक्ट (कार्यान्वयन <UIViewControllerTransitionDelegate>)
  • एक "एनिमेट्रैट्रांसिंग" ऑब्जेक्ट (कार्यान्वयन <UIViewControllerAnimatedTransitioning>)

आप इस ट्यूटोरियल में कस्टम बदलावों के बारे में अधिक जानकारी पा सकते हैं ।


किसी भी विशिष्ट कारणों से आपने एनिमवेटर क्लास में मेनव्यूकंट्रोलर और दूसरे व्यू कंट्रोलर क्लास को क्यों जोड़ा है? आपने सीधे UIViewController * toVC = (UIViewController *) का उपयोग क्यों नहीं किया [ट्रांस्फ़ॉर्म कॉन्टेक्स्ट viewControllerForKey: UITransitionContextToViewControllerKey]; UIViewController * fromVC = (UIViewController *) [ट्रांस्फ़ॉर्म कॉन्टेक्स्ट व्यूControllerForKey: UITransitionContextFromViewControllerKey];
सत्यम रायकर

यह मेरा ट्यूटोरियल नहीं है, इसलिए मुझे इस बारे में जानकारी नहीं है। आपकी बात हालांकि मान्य लगती है।
15

2

IOS7 और iOS8 पर बढ़िया काम करता है

UIViewController* vc=[[UIViewController alloc]initWithNibName:@"VC" bundle:nil];

vc.view.alpha=0.7;
[vc setModalPresentationStyle:UIModalPresentationOverCurrentContext];

self.navigationController.modalPresentationStyle = UIModalPresentationCurrentContext;

[self presentViewController:vc animated:NO completion:nil];

दूसरे सर्वश्रेष्ठ उत्तर का एक डुप्लिकेट।
टॉमस ब्

2

आप विंडो को दृश्य में 'पुनः जोड़' भी सकते हैं।

OneViewController *vc = [[OneViewController alloc] init];
if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]) {
    [self presentViewController:vc animated:YES completion:nil];
} else {
    [self presentModalViewController:vc animated:YES];
}

[[[UIApplication sharedApplication] keyWindow] insertSubview:self.view atIndex:0];

और इस तरह, प्रस्तुत करना एनिमेटेड हो सकता है।


1

IOS 7 के लिए और केवल इंटरफ़ेस बिल्डर का उपयोग करके इसे मोडल प्रस्तुति में शामिल सभी दृश्य नियंत्रकों पर "ओवर करंट संदर्भ" के लिए प्रस्तुति सेट करके पूरा किया जा सकता है। यहां तक ​​कि नेविगेशन नियंत्रकों के लिए भी।

उदाहरण के लिए, इसे इन सभी दृश्य नियंत्रकों पर सेट करें:

NavController -> RootViewController -> ModalViewController

यहाँ छवि विवरण दर्ज करें


0

मैंने स्टोरीबोर्ड / इंटरफ़ेस बिल्डर के साथ बहुत अधिक नहीं खेला है, लेकिन मेरे बारे में जो बात सामने आई है, वह यह है कि आप रंगीन (यानी 100% अल्फा / व्यू-थ्रू) को रंगीन बता रहे हैं और इसे अपारदर्शी भी बता रहे हैं ( 0% अल्फा - पूरी तरह से ठोस)। ये दो चीजें जाली नहीं लगतीं। मैं टिप्पणी करता हूंself.view.opaque = YES; लाइन पर और देखूंगा कि क्या यह काम करता है;)

आह, कुछ और जो मैंने अभी सोचा है - यह पूरी तरह से संभव है कि आपके दृश्य नियंत्रक का अल्फ़ा बैकग्राउंड हो, लेकिन निश्चित रूप से अल्फ़ा प्रोग्राम के बेस विंडो या रूट व्यू कंट्रोलर के रंग के माध्यम से दिख रहा होगा, जो इसके द्वारा है डिफ़ॉल्ट काला। आपके संपूर्ण ऐप की बहुत आधार परत में पारदर्शी पृष्ठभूमि नहीं हो सकती - पारदर्शी क्या? इसके पीछे क्या है? THROUGH को पारदर्शिता देखने के लिए कुछ होना चाहिए। क्या इसका कोई मतलब है?


मैंने self.view.opaque = YES पर टिप्पणी करने की कोशिश की; लाइन और यह काम नहीं कर रहा है। :-(
हाईटेक

क्या आपने मेरे उत्तर का दूसरा भाग पढ़ा? आप अपने सेटअप के आधार पर, जो आप चाहते हैं वह करने में सक्षम नहीं हो सकते हैं। आप स्पष्ट वीसी के पीछे क्या रख रहे हैं? शायद हम इसे ^ ^
वेंडीकिड

-3

बस "self.modalPresentationStyle = UIModalPresentationCurrentContext;" का उपयोग करें, दृश्य प्रस्तुत करने में;

ठीक काम करेंगे :)


1
यह केवल वही दोहरा रहा है जो मौजूदा उत्तर पहले ही कह चुके हैं।
पांग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.