У меня есть UIButton, и я хотел бы получить доступ к UIImageView своего фонового изображения, чтобы я мог сделать изображение круговым. Я знаю, что могу повлиять на сам образ, но я бы предпочел сделать это более элегантно. Я также знаю, что могу использовать свойство button.currentBackgroundImage
, чтобы получить UIImage в фоновом режиме, но я хочу сам вид. Как только у меня появится представление, я намереваюсь использовать этот код:Доступ к UIImageView фонового изображения UIButton
buttonImageView.layer.cornerRadius = buttonImageView.frame.size.width/2;
buttonImageView.clipsToBounds = YES;
Как я могу получить доступ к buttonImageView?
EDIT: Благодаря @ vhristoskov-х предложений, я попытался кадрирование кнопку сам с этим кодом:
self.button.layer.cornerRadius = self.button.frame.size.width/2;
self.button.clipsToBounds = YES;
И он сделал эту форму:
После отладки я обнаружил, что frame.size.width было 46, когда должно было быть 100. Поэтому я попробовал этот код вместо:
self.button.layer.cornerRadius = self.button.currentBackgroundImage.size.width/2;
self.button.clipsToBounds = YES;
И который произвел эту форму:
И на этот раз, то cornerRadius
был быть установлен на 65. Так что на самом деле кажется, что моя проблема в том, что я не имею правильную ширину в данный момент , Какую собственность я должен получить, чтобы получить правильный номер?
Есть ли причина, чтобы не применять один и тот же код прямо в UIButton? – vhristoskov
@ vhristoskov hmmm Я просто попробовал это, и у меня получился странный результат, изображение было странно. Я могу добавить скриншот о том, что случилось с моим вопросом, если хотите. – multitaskPro
Это было бы здорово.Также вы можете добавить изображение своих ограничений в IB (или код, который вы использовали для установки фрейма кнопки). – vhristoskov