#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, а затем добавьте его к кнопкам навигации.