2016-07-25 20 views
0

Ich habe eine App wie die iOS 10 Maps-App oder vielleicht den Home-Screen mit Control Center. Schauen Sie sich zum Beispiel das Bild an. Wenn Sie das Control Center öffnen, ändert sich der Schatten des Hintergrunds in Schwarz & transparent. Wie kann ich auf diese Ebene oder Unteransicht zugreifen und die Farbe von diesem Schatten zu einem anderen in meiner App ändern? Vielleicht zu rot oder weiß?Farbe des Schattens im Hintergrund ändern

enter image description here

EDIT:

Vielleicht direkt mit dem Framework. https://github.com/iosphere/ISHPullUp

Antwort

0

können Sie UIVisualEffectView verwenden wie folgt aus: Obj-C:

UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];//SELECT STYLE OF YOUR CHOICE 
    UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect]; 
    blurEffectView.frame = self.view.bounds;//view Will be YOUR_VIEW 
    blurEffectView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; 

    [self.view addSubview:blurEffectView];//This add Blur view to your view 

Swift:

let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.dark) 
    let blurEffectView = UIVisualEffectView(effect: blurEffect) 
    blurEffectView.frame = self.view.bounds 
    blurEffectView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    self.view.addSubview(blurEffectView) 
+0

Wenn ich es mit einer Unschärfe mache, denke ich, dass ich diesen Effekt in einem anderen ViewController hinzufügen muss. Ich bin mir nicht sicher, was passiert, wenn ich View wie das Control Center öffne, aber in meinen Augen wird es die View hinter dem Control Center nach hinten verschieben, eine Ebene oder View hinzufügen und die "Control Center" - View öffnen. Meiner Meinung nach muss es möglich sein, auf diese "Ansicht" zuzugreifen und sie zu ändern. – Paixsn

+0

Sie müssen auf dem View-Controller, der als Unschärfe angezeigt werden soll, eine Unschärfeansicht hinzufügen. Wenn Sie Ihre Ansicht anzeigen, sollte die Unschärfeansicht zum Hintergrundansicht-Controller hinzugefügt werden. Möchten Sie auch auf die Hintergrundansicht zugreifen, wenn Sie Ihre neue Ansicht darüber zeigen? –

+2

@VishalSonawane Randnotiz: Wenn Sie Code kopieren, den Sie in SO einfügen möchten, wählen Sie nicht [wie folgt] (https://www.evernote.com/l/AOwSX5XOhcVDc4wd3J_tulhjnrUIAcdcCwo), sondern [wie folgt] (https: // www. evernote.com/l/AOypRynS_EZPGrxkraOuBOMddAU_ArXhNJs). Auf diese Weise wird der Einzug beim Einfügen berücksichtigt. :) – Moritz

0

Manchmal öffnen Sie die Augen und Sie werden feststellen, was Sie wollen. Wenn Sie das gleiche Framework verwenden, können Sie eine Variable ändern. Im Beispiel des Frameworks können Sie zu "BottomVC" gelangen und die folgende Zeile zu Ihrer viewDidLoad() hinzufügen.

weak var pullUpController: ISHPullUpViewController! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture)) 
     topView.addGestureRecognizer(tapGesture) 
     handleView.arrowSize = CGSize(width: 1 , height: 2) 

     //This line change the default 40% black to a 70% white. 
     pullUpController.dimmingColor = UIColor.white().withAlphaComponent(0.7) 

} 

Der "Schatten" ist nur eine normale Ansicht. Here können Sie sehen, wie der Autor das implementiert hat.

+0

Randnotiz: Das Framework benötigt xCode 8 und Swift 3. – Paixsn