UINavigationBar
Наследование
-
NSObject
-
UIResponder
-
UIView
-
UINavigationBar
-
NSObject
-
UIResponder
-
UIView
-
UINavigationBar
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSObjectProtocol
-
Печатаемый
-
Reflectable
-
UIAccessibilityIdentification
-
UIAppearance
-
UIAppearanceContainer
-
UIBarPositioning
-
UICoordinateSpace
-
UIDynamicItem
-
UITraitEnvironment
-
NSCoding
-
NSObject
-
UIAppearance
-
UIAppearanceContainer
-
UIBarPositioning
-
UICoordinateSpace
-
UIDynamicItem
-
UITraitEnvironment
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
UINavigationBar
класс обеспечивает управление для навигации по иерархическому содержанию. Это - панель, обычно выведенная на экран наверху экрана, содержа кнопки для навигации в иерархии экранов. Основные свойства являются левым (спина) кнопка, центральный заголовок и дополнительная правильная кнопка. Можно использовать панель навигации в качестве автономного объекта или в сочетании с объектом контроллера навигации.
Используя панель навигации с контроллером навигации
Наиболее распространенный способ использовать панель навигации в сочетании с a UINavigationController
объект. При использовании контроллера навигации для управления навигацией между различными экранами содержания, контроллер навигации создает панель навигации автоматически и продвигает и выталкивает элементы навигации в надлежащих случаях.
Контроллер навигации автоматически присваивает себя как делегат его объекта панели навигации. Поэтому при использовании контроллера навигации, не присваивайте пользовательский объект делегата соответствующей панели навигации.
Для получения информации о контроллерах навигации посмотрите Ссылку класса UINavigationController.
Настройка появления панели навигации
В iOS 5.0 и позже, можно настроить появление панели с помощью методов, перечисленных в Настройке Появления Панели. Можно настроить появление всех панелей навигации с помощью прокси появления ([UINavigationBar appearance]
), или только единственной панели.
В iOS 7, панель навигации tintColor
влияет на цвет заднего изображения индикатора, заголовков кнопки и изображений кнопки. barTintColor
свойство влияет на цвет самой панели. Кроме того, панели навигации полупрозрачны по умолчанию. Выключение или включение полупрозрачности не влияет на кнопки, так как у них нет фонов.
В целом, когда свойство зависит от метрик панели (на iPhone в альбомной ориентации, панели имеют различную высоту от стандарта), убедиться указать значение для UIBarMetricsDefault
а также для других метрик.
Для получения дополнительной информации о появлении и конфигурации поведения, посмотрите Панели навигации.
-
delegate
СвойствоОбъект делегата панели навигации.
Объявление
Swift
unowned(unsafe) var delegate: UINavigationBarDelegate?
Objective C
@property(nonatomic, assign) id< UINavigationBarDelegate > delegate
Обсуждение
Делегат должен соответствовать
UINavigationBarDelegate
протокол. Значение по умолчаниюnil
.Если бы бар навигации создавался контроллером навигации и управляется тем объектом, то Вы не должны изменять значение этого свойства. Контроллеры навигации действуют как делегат к любым панелям навигации, которые они создают.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
Продвигает данный элемент навигации на штабель получателя и обновляет панель навигации.
Объявление
Swift
func pushNavigationItem(_
item
: UINavigationItem, animatedanimated
: Bool)Objective C
- (void)pushNavigationItem:(UINavigationItem *)
item
animated:(BOOL)animated
Параметры
item
Элемент навигации для спешения штабеля.
animated
YES
true
если должна быть анимирована панель навигации; иначе,NO
false
.Обсуждение
Продвижение элемента навигации выводит на экран заголовок элемента в центре на панели навигации. Предыдущий главный элемент навигации (если это существует) выведен на экран как кнопка «Назад» на левой стороне панели навигации. Если новый главный элемент имеет левое пользовательское представление, он выведен на экран вместо кнопки «Назад».
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Выталкивает главный элемент от штабеля получателя и обновляет панель навигации.
Объявление
Swift
func popNavigationItemAnimated(_
animated
: Bool) -> UINavigationItem?Objective C
- (UINavigationItem *)popNavigationItemAnimated:(BOOL)
animated
Параметры
animated
YES
true
если должна быть анимирована панель навигации; иначе,NO
false
.Возвращаемое значение
Вытолканный главный элемент.
Обсуждение
Сование элемента навигации удаляет главный элемент из штабеля и заменяет его задним элементом. Задний заголовок элемента центрируется на панели навигации, и ее другие свойства выведены на экран.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Заменяет элементы навигации, которыми в настоящее время управляет панель навигации с указанными элементами.
Объявление
Swift
func setItems(_
items
: [AnyObject]!, animatedanimated
: Bool)Objective C
- (void)setItems:(NSArray *)
items
animated:(BOOL)animated
Параметры
items
UINavigationItem
объекты поместить в штабеле. Порядок грудь-спина элементов в этом массиве представляет новый порядок нижней части к вершине элементов в штабеле навигации. Таким образом последний элемент, добавленный к массиву, становится главным элементом штабеля навигации.animated
Если
YES
true
, анимируйте продвижение или сование главного элемента штабеля. ЕслиNO
false
, замените элементы штабеля без любых анимаций.Обсуждение
Можно использовать этот метод, чтобы обновить или заменить элементы навигации в штабеле, не продвигая или выталкивая каждый элемент явно. Кроме того, этот метод позволяет Вам обновить штабель, не анимируя изменения, которые могли бы быть надлежащими во время запуска, когда Вы хотите восстановить состояние штабеля навигации к некоторому предыдущему состоянию.
Если анимации включены, этот метод решает который тип перехода выполнить на основе ли последний элемент в
items
массив уже находится на текущем штабеле навигации. Если элемент в настоящее время находится на штабеле, но не является самым верхним элементом, этот метод использует популярный переход; если это - самый верхний элемент, никакой переход не выполняется. Если элемент не находится на штабеле, этот метод использует переход нажатия. Только один переход выполняется, но когда тот переход заканчивается, все содержание штабеля заменяется новыми элементами. Например, если элементы A, B, и C находятся на штабеле, и Вы устанавливаете элементы D, A, и B, этот метод использует популярный переход, и получающийся штабель содержит элементы D, A, и B.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
items
СвойствоМассив элементов навигации, которыми управляет панель навигации.
Обсуждение
Нижний элемент в индексе
0
, задний элемент в индексеn-2
, и главный элемент в индексеn-1
, гдеn
число элементов в массиве.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
topItem
СвойствоЭлемент навигации наверху штабеля панели навигации. (только для чтения)
Объявление
Swift
var topItem: UINavigationItem? { get }
Objective C
@property(nonatomic, readonly, retain) UINavigationItem *topItem
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
backItem
СвойствоЭлемент навигации, который сразу является ниже самого верхнего элемента на штабеле панели навигации. (только для чтения)
Объявление
Swift
var backItem: UINavigationItem? { get }
Objective C
@property(nonatomic, readonly, retain) UINavigationItem *backItem
Обсуждение
Если
leftBarButtonItem
свойство самого верхнего элемента навигацииnil
, панель навигации выводит на экран кнопку «Назад», заголовок которой получен из элемента в этом свойстве.Если существует только один элемент на штабеле панели навигации, значение этого свойства
nil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
backIndicatorImage
СвойствоИзображение, показанное около кнопки «Назад».
Объявление
Swift
var backIndicatorImage: UIImage?
Objective C
@property(nonatomic, retain) UIImage *backIndicatorImage
Обсуждение
Если Вы хотите настроить заднее изображение индикатора, необходимо также установить
backIndicatorTransitionMaskImage
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
backIndicatorTransitionMaskImage
СвойствоИзображение, используемое в качестве маски для содержания во время нажатия и популярных переходов.
Объявление
Swift
var backIndicatorTransitionMaskImage: UIImage?
Objective C
@property(nonatomic, retain) UIImage *backIndicatorTransitionMaskImage
Обсуждение
Если Вы хотите настроить заднее изображение индикатора, необходимо также установить
backIndicatorImage
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
См. также
-
barStyle
СвойствоСтиль панели навигации, указывающий его появление.
Объявление
Swift
var barStyle: UIBarStyle
Objective C
@property(nonatomic, assign) UIBarStyle barStyle
Обсуждение
Посмотрите
UIBarStyle
для возможных значений. Значение по умолчаниюUIBarStyleDefault
.Когда баром навигации управляет объект контроллера навигации, допустимо установить значение этого свойства.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
barTintColor
СвойствоЦвет оттенка для применения к фону панели навигации.
Объявление
Swift
var barTintColor: UIColor?
Objective C
@property(nonatomic, retain) UIColor *barTintColor
Обсуждение
Этот цвет сделан полупрозрачным по умолчанию, если Вы не устанавливаете
translucent
свойство кNO
false
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
shadowImage
СвойствоТеневое изображение, которое будет использоваться для панели навигации.
Объявление
Swift
var shadowImage: UIImage?
Objective C
@property(nonatomic, retain) UIImage *shadowImage
Обсуждение
Значение по умолчанию
nil
, который соответствует теневому изображению по умолчанию. Когда не -nil
, это свойство представляет пользовательское теневое изображение для показа вместо значения по умолчанию. Для пользовательского теневого изображения, которое будет показано, пользовательское фоновое изображение должно также быть установлено сsetBackgroundImage:forBarMetrics:
метод. Если фоновое изображение по умолчанию будет использоваться, то теневое изображение по умолчанию будет использоваться независимо от значения этого свойства.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 6.0 и позже.
-
tintColor
СвойствоЦвет оттенка для применения к элементам навигации и элементам кнопки панели.
Объявление
Swift
var tintColor: UIColor!
Objective C
@property(nonatomic, retain) UIColor *tintColor
Обсуждение
В iOS v7.0, всех подклассах
UIView
получите их поведение дляtintColor
от базового класса. Посмотрите обсуждениеtintColor
вUIView
уровень для получения дополнительной информации.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 2.0 и позже.
-
translucent
СвойствоБулево значение, указывающее, полупрозрачна ли панель навигации (
YES
true
) или не (NO
false
).Объявление
Swift
var translucent: Bool
Objective C
@property(nonatomic, assign, getter=isTranslucent) BOOL translucent
Обсуждение
Значение по умолчанию
YES
true
. Если панель навигации имеет пользовательское фоновое изображение, значение по умолчаниюYES
true
если какой-либо пиксель изображения имеет альфа-значение меньше, чем1.0
, иNO
false
иначе.Если Вы устанавливаете это свойство в
YES
true
на панели навигации с непрозрачным пользовательским фоновым изображением панель навигации применит системную непрозрачность меньше, чем1.0
к изображению.Если Вы устанавливаете это свойство в
NO
false
если панель навигации имеет, на панели навигации с полупрозрачным пользовательским фоновым изображением панель навигации обеспечивает непрозрачный фон для изображения, использующего черныйUIBarStyleBlack
стиль, белый, если панель навигации имеетUIBarStyleDefault
, или панель навигацииbarTintColor
если определяется пользовательское значение.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 3.0 и позже.
-
Возвращает фоновое изображение для данных метрик панели.
Объявление
Swift
func backgroundImageForBarMetrics(_
barMetrics
: UIBarMetrics) -> UIImage?Objective C
- (UIImage *)backgroundImageForBarMetrics:(UIBarMetrics)
barMetrics
Параметры
barMetrics
Панель постоянные метрики.
Возвращаемое значение
Фоновое изображение для
barMetrics
.Обсуждение
То же как
backgroundImageForBarPosition:barMetrics:
с позициейUIBarPositionAny
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Устанавливает фоновое изображение для данных метрик панели.
Объявление
Swift
func setBackgroundImage(_
backgroundImage
: UIImage!, forBarMetricsbarMetrics
: UIBarMetrics)Objective C
- (void)setBackgroundImage:(UIImage *)
backgroundImage
forBarMetrics:(UIBarMetrics)barMetrics
Параметры
backgroundImage
Фоновое изображение для использования для
barMetrics
.barMetrics
Панель постоянные метрики.
Обсуждение
То же как
setBackgroundImage:forBarPosition:barMetrics:
с позициейUIBarPositionAny
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Возвращает фоновое изображение для использования для данной позиции панели и набора метрик.
Объявление
Swift
func backgroundImageForBarPosition(_
barPosition
: UIBarPosition, barMetricsbarMetrics
: UIBarMetrics) -> UIImage?Objective C
- (UIImage *)backgroundImageForBarPosition:(UIBarPosition)
barPosition
barMetrics:(UIBarMetrics)barMetrics
Параметры
barPosition
Расположение панели навигации.
barMetrics
Метрики панели навигации.
Возвращаемое значение
Изображение для использования для указанного расположения и метрик.
Обсуждение
Изображения изменяемого размера будут расширены вертикально при необходимости для позиции
UIBarPositionTopAttached
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Устанавливает фоновое изображение для использования для данной позиции панели и набора метрик.
Объявление
Swift
func setBackgroundImage(_
backgroundImage
: UIImage?, forBarPositionbarPosition
: UIBarPosition, barMetricsbarMetrics
: UIBarMetrics)Objective C
- (void)setBackgroundImage:(UIImage *)
backgroundImage
forBarPosition:(UIBarPosition)barPosition
barMetrics:(UIBarMetrics)barMetrics
Параметры
backgroundImage
Изображение для использования для указанного расположения и метрик.
barPosition
Расположение панели навигации.
barMetrics
Метрики панели навигации.
Обсуждение
Изображения изменяемого размера будут расширены вертикально при необходимости для позиции
UIBarPositionTopAttached
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 7.0 и позже.
-
Возвращает вертикальную корректировку позиции заголовка к данным метрикам панели.
Объявление
Swift
func titleVerticalPositionAdjustmentForBarMetrics(_
barMetrics
: UIBarMetrics) -> CGFloatObjective C
- (CGFloat)titleVerticalPositionAdjustmentForBarMetrics:(UIBarMetrics)
barMetrics
Параметры
barMetrics
Панель постоянные метрики.
Возвращаемое значение
Вертикальная корректировка позиции заголовка к
barMetrics
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
setTitleVerticalPositionAdjustment (_: forBarMetrics:) - setTitleVerticalPositionAdjustment:forBarMetrics:
Устанавливает вертикальную корректировку позиции заголовка к данным метрикам панели.
Объявление
Swift
func setTitleVerticalPositionAdjustment(_
adjustment
: CGFloat, forBarMetricsbarMetrics
: UIBarMetrics)Objective C
- (void)setTitleVerticalPositionAdjustment:(CGFloat)
adjustment
forBarMetrics:(UIBarMetrics)barMetrics
Параметры
adjustment
Вертикальная корректировка позиции заголовка к
barMetrics
.barMetrics
Панель постоянные метрики.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
titleTextAttributes
СвойствоАтрибуты дисплея для текста заголовка панели.
Объявление
Swift
var titleTextAttributes: [NSObject : AnyObject]?
Objective C
@property(nonatomic, copy) NSDictionary *titleTextAttributes
Обсуждение
Можно указать шрифт, цвет текста, текстовый цвет тени, и текстовое смещение тени для заголовка в тексте приписывает словарь, с помощью текстовых ключей атрибута, описанных в NSString UIKit Дополнительная Ссылка.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.