我正在使用Rubymotion构建iOS应用程序,我需要为tabBarItems设置自定义字体。我使用这段代码,但没有错误,但字体也没有改变。
tabBarController.tabBarItem.setTitleTextAttributes({UITextAttributeFont => UIFont.fontWithName('Futura-Medium', size:17)}, forState:UIControlStateNormal)
有什么问题?
答案 0 :(得分: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];
答案 1 :(得分: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)
我没有尝试过这个代码,但有人可能会假设你可以使用Ruby散列而不是NSDictionary,从而消除了一些Objective-C'ness:
yourTabBarItem.setTitleTextAttributes(
{
UITextAttributeTextColor: UIColor.whiteColor,
UITextAttributeTextShadowOffset: NSValue.valueWithUIOffset:UIOffsetMake(0,0),
UITextAttributeFont: UIFont.fontWithName("Futura-Medium", size:17.0)
},
forState:UIControlStateNormal)
同样,我没有试过这个,但它是一个字面翻译,在Objective-C版本中引入了一点动作。
答案 2 :(得分:0)
iOS上默认包含Futura-Medium
吗?如果没有,请将其丢入resources/