UIBarButtonItem tintColor iOS4

时间:2012-11-14 08:29:23

标签: ios cocoa-touch ios4

我使用以下代码创建UIBarButtonItem:

UIBarButtonItem* searchBarButton = [[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search_picto"] style:UIBarButtonItemStyleBordered target:self action:@selector(actionSearch:)] autorelease];
searchBarButton.tintColor = [UIColor colorWithRed:0.27 green:0.60 blue:0.20 alpha:1.00];

我将这个和另一个按钮添加到UIToolbar,不确定它是否相关。 这很好用,给了我我想要的外观:

screenshot of UIButtonBarItem

问题是iOS 4(我必须支持)我无法设置tintColor。无法识别的选择器。如何为iOS 4创建这样的按钮?我需要能够设置tintColor并具有UIBarButtonItemStyleBordered。

感谢您的帮助。


我让它像这样工作:

UISegmentedControl* searchButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"", nil]];
[searchButton setImage:[UIImage imageNamed:@"search_picto"] forSegmentAtIndex:0];
searchButton.momentary = YES;
searchButton.segmentedControlStyle = UISegmentedControlStyleBar;
searchButton.tintColor = [DELEGATE.config getColor:IFXShopConfigScopeShop name:@"navigationTint"];
[searchButton addTarget:self action:@selector(actionSearch:) forControlEvents:UIControlEventValueChanged];

您必须使用一个空的NSString对其进行初始化,否则无法设置图像。此外,addTarget必须使用UIControlEventValueChanged

2 个答案:

答案 0 :(得分:2)

在iOS5中添加了

tintColor,对于iOS4 here您有解决方案

答案 1 :(得分:1)

您需要创建一个UIButton并自行绘制按钮或使用此设置背景图片并使用自定义视图初始化UIBarButtonItemUIButton )。

P.S。从iOS6的发布开始,你无法再编译到armv6了,你可以支持的最低版本是4.3,根据我的说法不值得......