WidgetPrimaryVibrancyEffect and widgetSecondaryVibrancyEffect

What is the difference between the SecondaryVibrancyEffect widget and the widgetPrimaryVibrancyEffect widget? A.

enter image description here

+5
source share
1 answer

widgetPrimaryVibrancyEffect

For use with highlighted supporting text and glyphs.

widgetSecondaryVibrancyEffect

For use with highlighted supporting text and glyphs where further reduction is required

Here is an illustration with two UIButtons:

enter image description here

Swift 3.0 TodayViewController (Today Extension):

import UIKit import NotificationCenter class TodayViewController: UIViewController, NCWidgetProviding { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view from its nib. self.extensionContext?.widgetLargestAvailableDisplayMode = .expanded setupStackView() } private func setupStackView(){ let stackView = UIStackView(frame: CGRect.zero) stackView.translatesAutoresizingMaskIntoConstraints = false stackView.alignment = .fill stackView.axis = .vertical stackView.distribution = .fillEqually self.view.addSubview(stackView) let hConstraints = NSLayoutConstraint.constraints(withVisualFormat: "H:|[stackView]|", options: NSLayoutFormatOptions(rawValue:0), metrics: nil, views: ["stackView":stackView]) let vConstraints = NSLayoutConstraint.constraints(withVisualFormat: "V:|[stackView]|", options: NSLayoutFormatOptions(rawValue:0), metrics: nil, views: ["stackView":stackView]) self.view.addConstraints(hConstraints) self.view.addConstraints(vConstraints) stackView.addArrangedSubview(self.effectView(withEffect: UIVibrancyEffect.widgetPrimary(), andButtonTitle: "widgetPrimaryVibrancyEffect")) stackView.addArrangedSubview(self.effectView(withEffect: UIVibrancyEffect.widgetSecondary(), andButtonTitle: "widgetSecondaryVibrancyEffect")) } private func effectView(withEffect effect : UIVisualEffect, andButtonTitle title : String)->UIVisualEffectView{ //Create button let button = UIButton(type: .custom) button.translatesAutoresizingMaskIntoConstraints = false button.setTitle(title, for: .normal) //Create UIVisualEffectView let effectView = UIVisualEffectView(effect: effect) effectView.frame = CGRect.zero effectView.translatesAutoresizingMaskIntoConstraints = false effectView.contentView.addSubview(button) //Constraints button.leftAnchor.constraint(equalTo: effectView.contentView.leftAnchor).isActive = true button.topAnchor.constraint(equalTo: effectView.contentView.topAnchor).isActive = true button.rightAnchor.constraint(equalTo: effectView.contentView.rightAnchor).isActive = true button.bottomAnchor.constraint(equalTo: effectView.contentView.bottomAnchor).isActive = true return effectView } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } func widgetPerformUpdate(completionHandler: ((NCUpdateResult) -> Void)) { completionHandler(NCUpdateResult.newData) } } 
+5
source

All Articles