В iOS11 пытается добавить круглое изображение в качестве навигационного элемента в панели навигации, и оно не обрезает его края - PullRequest
0 голосов
/ 15 января 2020

Используя iOS13.3, XCode11.3,

Я пытаюсь разместить круглое изображение как rightBarButtonItem на моем большом навигационном баре заголовка.

Кнопка нарисована, однако она не обрезается и остаются уродливые углы в белом.

enter image description here

Вот мой код (см. ниже):

Как видите, я добавил clipsToBounds = true к нему - но я не вижу обрезанных краев. Почему ???

if let image = image {
    self.profileImage.image = image
} else {
    self.profileImage.image = #imageLiteral(resourceName: "profile-placeholder-small")
}

let button = UIButton(type: .custom)
button.setImage(self.profileImage.image, for: .normal)
button.addTarget(self, action:#selector(self.callMethod), for: .touchDragInside)
button.frame = CGRect(x: 0, y: 0, width: 36, height: 36)
let barButton = UIBarButtonItem(customView: button)
self.navigationItem.rightBarButtonItem = barButton

button.translatesAutoresizingMaskIntoConstraints = false
button.widthAnchor.constraint(equalToConstant: 36).isActive = true
button.heightAnchor.constraint(equalToConstant: 36).isActive = true

self.profileImage.contentMode = .scaleAspectFit
self.profileImage.layer.cornerRadius = self.profileImage.frame.size.width / 2
self.profileImage.layer.masksToBounds = false
self.profileImage.clipsToBounds = true

1 Ответ

1 голос
/ 15 января 2020

Вы добавляете кнопку в navigation bar и устанавливаете clipToBounds в profileImage, чтобы задать угловой радиус кнопки вместо изображения, чтобы решить вашу проблему. В настоящее время ваша кнопка имеет размер 36x36

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...