0

Rubymotion を使用して iOS アプリを構築しており、カスタム フォントを tabBarItems に設定する必要があります。このコードを使用するとエラーは発生しませんが、フォント フェイスも変更されません。

tabBarController.tabBarItem.setTitleTextAttributes({UITextAttributeFont => UIFont.fontWithName('Futura-Medium', size:17)}, forState:UIControlStateNormal)

なにが問題ですか?

4

3 に答える 3

0

これを試して :

    [yourTabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
    [UIColor whiteColor], UITextAttributeTextColor, 
    [NSValue valueWithUIOffset:UIOffsetMake(0,0)], UITextAttributeTextShadowOffset, 
    [UIFont fontWithName:@"Futura-Medium" size:17.0], UITextAttributeFont, nil]
    forState:UIControlStateNormal];
于 2012-11-19T11:09:42.827 に答える
0

Futura-MediumiOS にはデフォルトで含まれていますか? そうでない場合は、投げ入れますresources/

于 2012-11-27T01:30:17.990 に答える
0

直訳すると、これは次のようになります。

yourTabBarItem.setTitleTextAttributes(
  NSDictionary.dictionaryWithObjectsAndKeys(
      UIColor.whiteColor, UITextAttributeTextColor,
      NSValue.valueWithUIOffset:UIOffsetMake(0,0), UITextAttributeTextShadowOffset, 
      UIFont.fontWithName("Futura-Medium", size:17.0), UITextAttributeFont, nil
      ),
    forState:UIControlStateNormal)

私はコードを試していませんが、NSDictionary の代わりに Ruby ハッシュを使用して、Objective-C らしさの一部を排除できると推測する人もいるかもしれません。

yourTabBarItem.setTitleTextAttributes(
  {
      UITextAttributeTextColor:        UIColor.whiteColor,
      UITextAttributeTextShadowOffset: NSValue.valueWithUIOffset:UIOffsetMake(0,0), 
      UITextAttributeFont:             UIFont.fontWithName("Futura-Medium", size:17.0)
  },
  forState:UIControlStateNormal)

繰り返しますが、私はこれを試していませんが、これは文字通りの翻訳であり、Objective-C バージョンの小さなモーションがスローされています。

于 2012-11-22T22:15:44.810 に答える