2017-03-03 11 views
2

3D Touch Peekが呼び出されたとき、背景のぼやけが発生すると、その変化がわかります。3D Touch Peek - 背景のぼかしの色

たとえば、iMessageではLIGHTのぼかしですが、FaceTime AppではDARKのぼかしです。

(画像下のコントラストを表示するための最良の例ではないかもしれませんが、あなたはiOSの10から良くて、それに気づくことができます)

enter image description here

これは文脈の明るさから自動的に行われますか?バックグラウンドビューの明るさ?文脈の明るさを聞く?それとも私たちはこれを支配していますか?


extension ChatTableViewController: UIViewControllerPreviewingDelegate { 
    func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { 
     guard let indexPath = tableView.indexPathForRow(at: location) else { return nil } 

     let storyboard = UIStoryboard(name: "Main", bundle: nil) 
     let viewController = storyboard.instantiateViewController(withIdentifier: ChatDetailViewController.identifier) 
     guard let chatDetailViewController = viewController as? ChatDetailViewController else { return nil } 

     chatDetailViewController.chatItem = chatItem(at: indexPath) 
     let cellRect = tableView.rectForRow(at: indexPath) 
     previewingContext.sourceRect = previewingContext.sourceView.convert(cellRect, from: tableView) 
     chatDetailViewController.isReplyButtonHidden = true 

     return chatDetailViewController 
    } 

    func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) { 
     if let chatDetailViewController = viewControllerToCommit as? ChatDetailViewController { 
      chatDetailViewController.isReplyButtonHidden = false 
     } 
     show(viewControllerToCommit, sender: self) 
    } 
} 

答えて

2

私はこれを行う方法を把握しようとUIViewControllerのいくつかのプロパティをいじりました、そしてそれはpreferredStatusBarStyleを変更するとぼかし色が変更されることが判明しました。

光から闇にPEEKブラーのスタイルを変更するには、.lightContent

.defaultから preferredStatusBarStyleを変更することができます
class MyViewController: UIViewController{ 
    override var preferredStatusBarStyle: UIStatusBarStyle{ 
     return .lightContent 
    } 
} 

これはまた、あなたは隠しステータスバーに

class MyViewController: UIViewController{ 
    override var prefersStatusBarHidden: Bool{ 
     return true 
    } 

    override var preferredStatusBarStyle: UIStatusBarStyle{ 
     return .lightContent 
    } 
} 

+0

の作品驚くべきものです!! – Gizmodo