我试图找到一种方法,使选中的标签栏项目按钮“弹出”或“弹跳”。我正在将MvvmCross用作Xamarin.IOS的框架。
我尝试分配一个新的代表:
TabBarController.TabBar.Delegate = new CustomTabBarDelegate();
..但这崩溃了,说我正在覆盖现有的委托。
我还尝试处理选项卡栏控制器选择事件:
TabBarController.ViewControllerSelected += (sender, args) =>
{
var originalSize = args.ViewController.TabBarItem.SelectedImage.Size;
var firstSize = new CGSize(originalSize.Width * 0.95, originalSize.Height * 0.95);
var secondSize = new CGSize(originalSize.Width * 1.05, originalSize.Height * 1.05);
UIView.Animate
(
250,
0,
UIViewAnimationOptions.CurveEaseIn,
() => { args.ViewController.TabBarItem.SelectedImage.Scale(firstSize); },
null
);
UIView.Animate
(
125,
0,
UIViewAnimationOptions.CurveEaseOut,
() => { args.ViewController.TabBarItem.SelectedImage.Scale(secondSize); },
null
);
UIView.Animate
(
250,
0,
UIViewAnimationOptions.CurveLinear,
() => { args.ViewController.TabBarItem.SelectedImage.Scale(originalSize); },
null
);
...似乎有效,但是我的动画缩放不起作用。
阻止动画效果的UITabBar是否存在已知限制?
这样做有技巧吗?