widgetPrimaryVibrancyEffect and widgetSecondaryVibrancyEffect

ios10

911 просмотра

1 ответ

26 Репутация автора

What's different between widgetSecondaryVibrancyEffect and widgetPrimaryVibrancyEffect?

enter image description here

Автор: Robert Источник Размещён: 18.07.2016 08:04

Ответы (1)


6 плюса

4180 Репутация автора

widgetPrimaryVibrancyEffect

For use with select supporting text and glyphs.

widgetSecondaryVibrancyEffect

For use with select supporting text and glyphs where further diminution 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)
    }

}
Автор: CryingHippo Размещён: 02.09.2016 02:39
Вопросы из категории :
32x32