0

ここでそれが起こっているのを見ることができます:

http://www.screencast.com/t/mSveqUgPe1

ここでの私の質問に似ています: UIBarButtonItem Custom Background Appearance 'Jumping' after Flip Transition

UIBarButtonItemこれは、外観 API を介して s のカスタム フォントを設定することによって完全に発生しているようです。

[[UIBarButtonItem appearance] setTitleTextAttributes:
 [NSDictionary dictionaryWithObjectsAndKeys:
  [UIColor colorWithRed:1 green:1 blue:1 alpha:1.0],
  UITextAttributeTextColor,
  [UIColor colorWithRed:4/255.0 green:4/255.0 blue:4/255.0 alpha:0.5],
  UITextAttributeTextShadowColor,
  [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],
  UITextAttributeTextShadowOffset,
  [UIFont fontWithName:@"ProximaNova-Bold" size:16.0],
  UITextAttributeFont,
  nil] forState:UIControlStateNormal];

フォント部分だけでもコメントアウトすると問題が解決します。Helvetica のような非カスタム フォントを使用しても、この方法で設定すると同じ問題が発生します。画像のオフセットを調整する以前のハックは、これでは機能しないため、別の回避策を見つけようとしています。

4

1 に答える 1

0

明らかにこれはバグですが、今回コードで新しい回避策を見つけました。

- (void)viewWillLayoutSubviews {
    [super viewWillLayoutSubviews];
    self.navigationItem.rightBarButtonItem.title = @"NEXT";
}

呼び出し後にコードでタイトルを設定すると機能しsuper viewWillLayoutSubviewsます。なぜそれが修正されるのか...わかりません。

かなりではない

今、それはジャンプしています。間違ってレンダリングされ、正しい位置/サイズに更新されます。

于 2013-03-29T17:36:13.380 に答える