'de arka düğme metninin dikey konumunu değiştirin Arka düğme simgesinin dikey konumunu değiştirdim ancak metni değiştiremedim.UINavigationBar
Ben UINavigationBar içinde layoutSubviews yöntemini kullanıyorum:
- (void)layoutSubviews {
[super layoutSubviews];
BOOL fixed = NO;
NSArray *classNamesToReposition = @[@"_UINavigationBarBackIndicatorView", @"UINavigationButton", @"UINavigationItemButtonView"];
for (UIView *view in [self subviews]) {
if ([classNamesToReposition containsObject:NSStringFromClass([view class])] && !fixed) {
CGRect frame = [view frame];
if ([NSStringFromClass([view class]) isEqualToString:@"_UINavigationBarBackIndicatorView"]) {
frame.origin.y = 14.5;
} else if ([NSStringFromClass([view class]) isEqualToString:@"UINavigationButton"]) {
frame.origin.y = 9.0;
} else if ([NSStringFromClass([view class]) isEqualToString:@"UINavigationItemButtonView"]) {
frame.origin.y = 5.0;
}
[view setFrame:frame];
}
}
}
Sorun UINavigationItemButtonView gerçekleştirdiği herhangi çerçeve değişikliği herhangi bir etkisi görünmüyor, ne de üzerinde yaptığınız çerçeve değişikliği UILabel Subview olmasıdır gerçek düğme metni budur. Görünümleri kaydettiğimde çerçeveler değişiyor gibi görünüyor, ancak görünümümde metin hareket etmiyor. Neyi yanlış yapıyorum?
Jack, bu kodu 'viewDidAppear: 'yerine yerleştirmeyi denediniz mi? Bir projede test ettim ve y pozisyonunu ayarladı. – carlodurso