Я использую настраиваемое изображение для кнопки панели навигации. В iOS 6, если мы установили элемент кнопки с левой кнопкой с кнопкой, его значение x начинается с 10 пикселей. Но в iOS 7, если мы делаем то же самое, x значение кнопки начинается с 20px. Есть ли способ, с помощью которого мы начнем с 10px, поскольку внешний вид кнопок не очень хорош с этим в iOS 7?Позиционирование кнопок панели навигации в iOS 7
-1
A
ответ
0
Нет, вы не можете изменить рамку UIBarButtonItem
. Вместо этого подкласс UINavigationBar
.
1
UIBarButtonItems может быть инициализирован с использованием метода initWithCustomView:. Таким образом, вы можете создать нестандартное представление (в вашем случае элемент кнопки панели навигации с настраиваемым изображением) и инициализировать элемент панели с этим пользовательским представлением. Пример:
CustomView *view = [[CustomView alloc] initWithImage:[UIImage imageNamed:@"back.png"]];
UIBarButtonItem *backBtn = [[UIBarButtonItem alloc] initWithCustomView:view];
Вы можете установить любой кадр, который вы хотите в initWithImage: метод CustomView:
- (id)initWithImage:(UIImage *)image {
self = [super initWithFrame:CGRectMake(0, 0, 50, 44)];
CGRect backArrowFrame;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
backArrowFrame = CGRectMake(-8, 12, 12.5, 20.5);
} else {
backArrowFrame = CGRectMake(-2, 12, 12.5, 20.5);
}
UIButton *imView = [[UIButton alloc] initWithFrame:backArrowFrame];
[imView setContentMode:UIViewContentModeScaleAspectFit];
[imView setBackgroundImage:image forState:UIControlStateNormal];
[imView addTarget:target action:@selector(backButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:imView];
return self;
}
Таким способом можно изменить кадр UIBarButtonItem.
0
Добавить кнопку в качестве элемента навигации в ios7 ниже
UIButton *btnAdd = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 60, 30)];
[btnAdd setContentMode:UIViewContentModeScaleAspectFit];
[btnAdd setBackgroundImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
[btnAdd addTarget:self action:@selector(backButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *btnAdd = [[UIBarButtonItem alloc] initWithCustomView:imView];
self.navigationItem.rightBarButtonItem = btnAdd;
Смежные вопросы
- 1. Позиционирование UISegmentedControl на панели кнопок
- 2. Какова высота панели навигации в iOS 7?
- 3. UIBarButtonItem setTitlePositionAdjustment на панели навигации iOS 7
- 4. Позиционирование элементов внутри панели навигации
- 5. Размещение кнопок на панели навигации
- 6. Несколько кнопок на панели навигации
- 7. Создания кнопок для панели навигации
- 8. Несколько кнопок в панели навигации iOS через интерфейс Builder?
- 9. несколько кнопок в панели навигации в xcode4.2
- 10. Позиционирование кнопок на панели инструментов HTML
- 11. Как изменить цвет панели навигации в iOS 7 или 6?
- 12. Как отключить правую кнопку панели навигации в iOS 7?
- 13. Как уменьшить размер шрифта заголовка панели навигации в iOS 7
- 14. iOS 7 - Настройка фона для панели навигации в ландшафтном режиме
- 15. iOS 7 Панель навигации
- 16. MWPhotoBrowser iOS 7 странное позиционирование
- 17. Позиционирование div в навигации
- 18. Подчеркивание кнопок в iOS 7
- 19. Я хочу, чтобы элемент панели кнопок в панели навигации будут размещены в крайнем углу панели навигации
- 20. Пользовательские кнопки кнопок навигации на ios
- 21. Настроить изображение навигационной панели в iOS 7
- 22. Обновление левой кнопки панели навигации в iOS
- 23. До IOS 7 tintColor без фона Панели навигации
- 24. iOS 7 Retina Display Отрезает верхнюю часть панели навигации
- 25. Кнопки панели навигации потеряли оттенок на iOS 7
- 26. Сбой навигационной панели при использовании навигации iOS 7 swipe
- 27. Представление контроллера представления на панели навигации IOS 7 issue
- 28. Изменение фонового изображения кнопок панели навигации
- 29. Функциональность смены кнопок на панели навигации
- 30. Добавление кнопок в панель навигации ios
Я знаю this..i не хотел идти через этот way.I было что-то вроде toplayoutguide, которые мы можем использовать, чтобы обеспечить направляющий ожидая для этих кнопок. –