Пользовательский шрифт MKAnnotationView изменить размер анимации - PullRequest
0 голосов
/ 12 сентября 2018

Я установил собственный шрифт и цвет для своей выноски, используя это решение , но он производит странную анимацию, потому что сначала устанавливает размер в соответствии с предыдущим шрифтом, а затем изменяет размер поля с помощьюновый отметьте это:

Strange animation

Код для изменения шрифта и цвета

@objc class CustomAnnotationView: MKAnnotationView {

override func didAddSubview(_ subview: UIView) {

    if isSelected {
        setNeedsLayout()
    }
}

override func layoutSubviews() {

    if !isSelected {
        return
    }

    loopViewHierarchy { (view: UIView) -> Bool in
        if let label = view as? UILabel {
            label.font = ViewUtil.fontMediumWithSize(14)
            label.textColor = ViewUtil.BlueGray
            return false
        }
        return true
    }

    super.layoutSubviews()
}
}

typealias ViewBlock = (_ view: UIView) -> Bool

extension UIView {

func loopViewHierarchy(block: ViewBlock?) {

    if block?(self) ?? true {
        for subview in subviews {
            subview.loopViewHierarchy(block: block)
        }
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...