//
//  UIButton+Configuration.swift
//  suixinkan
//

import UIKit

/// `UIButton` 的现代 configuration 配置辅助能力。
extension UIButton {

    /// 设置内容边距，并保留按钮已有的 configuration 内容。
    func setConfigurationContentInsets(_ contentInsets: NSDirectionalEdgeInsets) {
        var updatedConfiguration = configuration ?? .plain()
        updatedConfiguration.contentInsets = contentInsets
        configuration = updatedConfiguration
    }

    /// 设置图片相对标题的位置和间距，并保留按钮已有的 configuration 内容。
    func setConfigurationImagePlacement(_ imagePlacement: NSDirectionalRectEdge, padding: CGFloat) {
        var updatedConfiguration = configuration ?? .plain()
        updatedConfiguration.imagePlacement = imagePlacement
        updatedConfiguration.imagePadding = padding
        configuration = updatedConfiguration
    }
}
