Пользовательские закругленные углы UIButton

#objective-c #ios #xcode #uibutton

#objective-c #iOS #xcode #кнопка uibutton

Вопрос:

Я настраиваю UINavigationBar и должен установить пользовательское фоновое изображение для кнопок навигации. Это делается таким образом:

 for (UIView *view in self.navigationController.navigationBar.subviews) {
    if ([[[view class] description] isEqualToString:@"UINavigationButton"]) {
        UINavigationButton *button = {(UINavigationButton *)view};
        [button setBackgroundImage:[UIImage imageNamed:@"bar_button.png"] forState:UIControlStateNormal];
        [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateSelected];
        [button setBackgroundImage:[UIImage imageNamed:@"bar_button_black.png"] forState:UIControlStateHighlighted];
     }
}
 

Не будет ли это отклонено Apple?
Как я могу сделать так, чтобы углы UIButton / UIView были закруглены?

Ответ №1:

UIView Объект имеет свойство с именем layer (CALayer), а a layer имеет cornerRadius свойство.

Ответ №2:

Создайте свои пользовательские кнопки как обычные UIButtons, с вашим пользовательским изображением. Затем создайте UIBarButtonItems с вашим новым UIButton в качестве пользовательского представления (вы можете увидеть, как это сделать в ссылке на класс UIBarButtonItem).

Затем настройте элемент навигации вашего контроллера представления так, чтобы ваши новые UIBarButtonItems были такими, как leftButtonItem, rightButtonItem и так далее.

Комментарии:

1. ОК. Похоже, другого варианта нет. Спасибо.

Ответ №3:

Вместо этого сделайте вот так.Возьмите UIButton, а затем добавьте его к кнопкам навигации.