是否可以将TabBar和/或“更多导航控制器”中的图标设置为灰色和黑色以外的颜色?我尝试使用UITabBarItem的
更改我为视图控制器设置的图标的颜色- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag
方法
我的客户认为界面太暗,想要用一些彩色图标照亮它......
谢谢!
答案 0 :(得分:5)
稍微迟了一点,但我改变更多控制器图标的方法是(并且不确定Apple是否会批准它)执行以下操作:
id moreNavController = [tabs.moreNavigationController.viewControllers objectAtIndex:0];
if ([moreNavController respondsToSelector(@selector(view)]) {
UITableView *t = (UITableView*)[moreNavController view];
[t setDataSource:self];
}
然后我只实现UITableViewDatasourceProtocol方法
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{
id o =[tabs.moreNavigationController.viewControllers objectAtIndex:0];
return [o tableView:tableView numberOfRowsInSection:section]; //let the existing data source actually return the number of rows
}
和
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
/* configure cell as normal with what ever image in the imageView property*/
cell.imageView.image = <someimageobj>
}
答案 1 :(得分:1)
Nope :(标签栏或工具栏上的按钮是使用Alpha通道绘制的,所以尽管.png有,但它们没有颜色。
因此,您可以对TabBar或ToolBar进行子类化,并实现绘制整个条形图的自己的按钮。
答案 2 :(得分:0)
另一个想法是让另一个XIB文件充当各种工具栏或标签栏。您可以使其看起来完全相同,甚至可以像工具栏或标签栏一样进入视图。然后,您可以通过App Delegate或Singleton传递全局变量,以便在必要时与其他活动视图共享。
在视图中添加子视图的一个很好的例子是这里找到的“隐藏抽屉”示例代码(只是更改屏幕尺寸,因为此版本在顶部弹出视图,而您希望它在底部)。 / p>
http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html
如果您无法理解,请告诉我,我在家里有工作代码,我可以在这里为您发布。
罗布