- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为项目使用 YALFoldingTabBar https://github.com/Yalantis/FoldingTabBar.iOS
我想稍微改变一下它的行为,将当前的 ViewController 显示为 centerButtonImage,而不是加号/叉号。
我试过像这样覆盖 didSelectItem
:
override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem!) {
switch(self.selectedIndex)
{
case 0:
self.centerButtonImage = UIImage(named: "whatever")
default:
//Change image
}
switch (self.selectedViewController)
{
case 0 as GameViewController:
//Change image
default:
//Change image
}
}
下面的代码在我的 CustomTabBar
中,是 YALFoldingTabBarController
的子类。
但是好像不是这样的。我还尝试在特定的 UIViewControllers
的 viewDidLoad
或 viewDidAppear
中操作 tabBar,但似乎只设置了 tabBar。
这可能吗?如果可能,我做错了什么?
编辑:似乎在更改 viewController 时未调用该方法。
最佳答案
我从来没有让 didSelectItem
工作,UITabBarControllerDelegate
也没有。但是,YALFoldingTabBar 具有委托(delegate)方法 tabBarViewWillExpand
和 tabBarViewWillCollapse
,我将它们与 tabBarView.layoutSubviews()
一起使用来解决我的问题。它不是很漂亮,但可以按预期工作。
func tabBarViewWillExpand(tabBarView: YALFoldingTabBar!) {
self.centerButtonImage = UIImage(named: "plus_icon")
//Helper method from other thread, link below
performBlock({ () -> Void in
tabBarView.layoutSubviews()
}, afterDelay: 0.25)
}
How do you trigger a block after a delay, like -performSelector:withObject:afterDelay:?
关于ios - YALFoldingTabBarController 根据所选的 ViewController 更改 centerButtonImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32488195/
我正在为项目使用 YALFoldingTabBar https://github.com/Yalantis/FoldingTabBar.iOS 我想稍微改变一下它的行为,将当前的 ViewContro
我是一名优秀的程序员,十分优秀!