iOS 7.0 。
我需要让你的设计 UITabBar 。图片(this link)显示了它现在的样子以及它应该如何显示。不同之处在于:
1)按钮上的图像有些脏的颜色,应该是白色的
2)所选项目以较暗的背景颜色突出显示。现在他根本没有突出显示。
以下是我在应用程序中的 AppDelegate.m 中定义设计的方法:didFinishLaunchingWithOptions
// Background image for TabBar
UIImage *backgroundDownImage = [UIImage imageNamed:@"background_320_49.png"];
// Mode UIImageResizingModeStretch
backgroundDownImage = [backgroundDownImage resizableImageWithCapInsets:UIEdgeInsetsZero resizingMode:UIImageResizingModeStretch];
// Set background image for all UITabBar in application
[[UITabBar appearance] setBackgroundImage:backgroundDownImage];
// White color for TabBar buttons
[[UITabBar appearance] setTintColor:[UIColor whiteColor]];
// Special font for all UITabBarItem
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"Xnjslkpqqovrwqxfnmropbgqtzp" size:0], UITextAttributeFont, nil] forState:UIControlStateNormal];
我尝试了4种变体:
1)在方法中 - (id)initWithNibName旧代码setFinishedSelectedImage + withFinishedUnselectedImage
2)在方法中 - (id)initWithNibName新代码setImage + SetSelectedImage
3)在方法 - (void)viewDidLoad旧代码中
4)在方法 - (void)viewDidLoad新代码
- (void)viewDidLoad
{
[super viewDidLoad];
// Variant 1
[self.tabBarItem setImage:[[UIImage imageNamed:@"Live.png"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]];
[self.tabBarItem setSelectedImage:[[UIImage imageNamed:@"Live.png"] imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal]];
// Variant 2
//[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"Live.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"Live.png"]];
[CommonUse showLiveVideoFromController:self];
}
在所有情况下,都会显示图标。方法initWithNibName(选项1和2)颜色图标上没有任何操作。方法viewDidLoad既可以使用新旧代码,也可以使用奇怪的方式。首次运行应用程序时,只有第一个图标是白色,而所有其他图标都是灰色。如果您单击任何其他图标然后返回到第一个图标,此图标将变为白色(但只有图片!文本仍为灰色)。 事实证明,图标的颜色只影响方法viewDidLoad,但不完全 - 只缺少其他东西。
也许为Selected和NoSelected绘制两组图标。那是图标,图像和文字描述为图形。但仍然有两点:1)当你第一次启动应用程序时,所有的图标都是灰色的,只有第一个图标是白色的。 2)当您更改屏幕宽度时,如果按钮不要分散。
答案 0 :(得分:0)
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"partners_hover.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"partners_small.png"]];
}
return self;
}
答案 1 :(得分:0)
要更改未选定项目(图标)的颜色,您可以使用UITabBar属性 unselectedItemTintColor
<div id="root">
<button @mouseDown.middle="test">
Click Me
</button>
</div>
new Vue({
el: '#root',
methods: {
test () {
alert('me')
}
}
})