Я создал собственный класс, который добавляет значок к кнопке UIB. Сам значок является UIImageView. Кнопка может иметь различный пользовательский интерфейс для каждого состояния; когда кнопка отключена, она имеет четкий фон, показывает рамку и заголовок, как показано на рисунке ниже.
Как видите, значок отображается за границей, но я хочу, чтобы значок находился поверх него. Я попытался отрегулировать zPosition слоя значка, установив его, например, в. 9999. Я также попытался вывести значок на передний план с помощью метода yieldSubviewToFront. Оба способа не сработали.
Мой код для добавления значка на кнопку таков:
private func addBadgeImageToButton() {
// badgeImage is a string containing the imageName
guard badgeImage != nil else {
return
}
badgeImageView = UIImageView(image: UIImage(named: badgeImage!))
// This line merely adjusts the position of the UIImageView
badgeImageView!.frame = adjustedRectangleForBadge(initialSize: badgeImageView!.frame.size)
badgeImageView!.layer.zPosition = 9999
addSubview(badgeImageView!)
// This line does not seem to work
//self.bringSubviewToFront(badgeImageView!)
// Adding these two lines won't do the trick either
self.setNeedsLayout()
self.layoutIfNeeded()
}
Может кто-нибудь помочь мне с этой крошечной проблемой? Любая помощь с благодарностью!