Iphone TabBar/”选项卡;更多视图控制器";-是否可能有非黑色的图标?

Iphone TabBar/”选项卡;更多视图控制器";-是否可能有非黑色的图标?,iphone,objective-c,cocoa-touch,uitabbaritem,Iphone,Objective C,Cocoa Touch,Uitabbaritem,选项卡栏和/或“更多导航控制器”中的图标是否可以采用灰色和黑色以外的颜色?我尝试使用UITabBarItem的更改为视图控制器设置的图标的颜色 - (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag 方法 我的客户认为界面太暗了,想用一些彩色图标把它照亮 谢谢 Nope:(选项卡栏或工具栏上的按钮是用alpha通道绘制的,因此它们没有颜色,尽管.png有颜色 因此,您可以对选项卡栏或工具栏进

选项卡栏和/或“更多导航控制器”中的图标是否可以采用灰色和黑色以外的颜色?我尝试使用UITabBarItem的更改为视图控制器设置的图标的颜色

- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag
方法

我的客户认为界面太暗了,想用一些彩色图标把它照亮

谢谢

Nope:(选项卡栏或工具栏上的按钮是用alpha通道绘制的,因此它们没有颜色,尽管.png有颜色

因此,您可以对选项卡栏或工具栏进行子类化,并实现自己的按钮来绘制整个工具栏。

否:(选项卡栏或工具栏上的按钮使用alpha通道绘制,因此它们没有颜色,尽管.png有颜色


因此,您可以对选项卡栏或工具栏进行子类化,并实现自己的按钮来绘制整个工具栏。

另一个想法是使用另一个XIB文件作为工具栏或各种选项卡栏。您可以使其看起来完全相同,甚至像工具栏或选项卡栏一样在视图中设置动画。然后,您可以通过应用程序Delega传递全局变量如有必要,te或通过单例与其他活动视图共享

将子视图添加到视图中的一个很好的示例是这里的“隐藏抽屉”示例代码(只需更改屏幕尺寸,因为此版本会在顶部弹出视图,而您希望它在底部)

如果你不明白,请告诉我,我在家里有工作代码,我可以帮你贴在这里


Rob

另一个想法是使用另一个XIB文件作为工具栏或选项卡栏。您可以使其看起来完全相同,甚至可以像工具栏或选项卡栏那样在视图中设置动画。然后,您可以通过应用程序委托或单例传递全局变量,以便在必要时与其他活动视图共享

将子视图添加到视图中的一个很好的示例是这里的“隐藏抽屉”示例代码(只需更改屏幕尺寸,因为此版本会在顶部弹出视图,而您希望它在底部)

如果你不明白,请告诉我,我在家里有工作代码,我可以帮你贴在这里


Rob做这件事有点晚,但我更改更多控制器图标的方法是(不确定苹果是否会批准)执行以下操作:

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{
/*使用imageView属性中的任何图像将单元格配置为普通*/
cell.imageView.image=
}

这件事来得有点晚,但我更改更多控制器图标的方法是(不确定苹果是否会批准)执行以下操作:

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{
/*使用imageView属性中的任何图像将单元格配置为普通*/
cell.imageView.image=
}

这正是我所期望的。谢谢!这正是我所期望的。谢谢!