TabBar /“更多视图控制器” - 可能有黑色以外颜色的图标?
Posted
技术标签:
【中文标题】TabBar /“更多视图控制器” - 可能有黑色以外颜色的图标?【英文标题】:TabBar / "More View Controller" - Possible to have icons in colors other than black? 【发布时间】:2010-05-24 12:09:07 【问题描述】:是否可以让 TabBar 和/或“更多导航控制器”中的图标采用灰色和黑色以外的颜色?我尝试使用 UITabBarItem 更改为视图控制器设置的图标的颜色
- (id)initWithTitle:(NSString *)title image:(UIImage *)image tag:(NSInteger)tag
方法。
我的客户认为界面太暗,想用一些彩色图标来点亮它...
谢谢!
【问题讨论】:
【参考方案1】:这有点晚了,但我更改更多控制器图标的方法是(不确定 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>
【讨论】:
【参考方案2】:不 :( 标签栏或工具栏上的按钮是使用 Alpha 通道绘制的,因此尽管 .png 有颜色,但它们没有颜色。
因此,您可以继承 TabBar 或 ToolBar 并实现自己的按钮来绘制整个栏。
【讨论】:
这几乎是我所期望的。谢谢!【参考方案3】:另一个想法是让另一个 XIB 文件充当工具栏或选项卡栏。您可以让它看起来完全一样,甚至可以像工具栏或标签栏一样在视图中显示动画。然后,您可以通过 App Delegate 或 Singleton 传递全局变量,以便在必要时与其他活动视图共享。
将子视图添加到视图中的一个很好的示例是此处的“隐藏抽屉”示例代码(只需更改屏幕尺寸,因为此版本将视图弹出在顶部,而您希望它在底部)。
http://cocoawithlove.com/2009/05/intercepting-status-bar-touches-on.html
如果您无法弄清楚,请告诉我,我在家里有工作代码,我可以在这里为您发布。
罗伯
【讨论】:
以上是关于TabBar /“更多视图控制器” - 可能有黑色以外颜色的图标?的主要内容,如果未能解决你的问题,请参考以下文章
在 SWIFT 3 中访问 UITabBarController 的“更多...”视图控制器