Я поместил пользовательское изображение в backIndicatorImage
с помощью этого кода:
var backButton = UIImage(named: "locationbar_back")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
self.navigationController!.navigationBar.backIndicatorImage = backButton
self.navigationController!.navigationBar.backIndicatorTransitionMaskImage = backButton
Изображение немного выше стандартной, поэтому я хочу иметь возможность вертикально центрировать его.
Я попытался найти изображение на навигационной панели (не очень изящно) с помощью этого кода (приветствуются любые предложения):
for myview in self.navigationController!.navigationBar.subviews as [UIView]
{
if myview.frame.width == 17 //need a better way of identifying object
{
var newFrame = myview.frame
newFrame.origin.y = 6.0
myview.frame = newFrame
}
}
Неудобно то, что изображение мгновенно появляется в нужном месте, а затем возвращается в исходное положение.
Я пробовал называть это в:
- viewDidLoad
- viewWillLayoutSubviews
- viewDidLayoutSubviews
- viewDidAppear
без радости.
Есть ли у кого-нибудь предложения?