2013-06-20 52 views
1

我试图从UITabBar实现我自己的弹出式菜单。 我的应用程序允许用户指定哪些菜单显示在标签栏上,我不喜欢iOS使用的默认“更多”按钮,因为有很多标签栏项目,所以我想创建一些标签酒吧项目成为“子菜单”,可以制作更多按钮菜单。我希望它从tabbaritem本身弹出,并且标签的顺序可能对每个用户都不一样。 到目前为止,我可以找到用户选择的tabbaritem,但接下来我需要知道它的位置,以便我可以从该位置为一个弹出菜单设置动画。在Monotouch中查找UITabBarItem的位置Xamarin.iOS

有谁知道我怎么能找到选定tabbaritem的框架或位置?

回答

0

您可以迭代通过UITabBar的子视图,并只获得那些类型为UITabBarButton类的子视图。然后你得到你感兴趣的子视图的框架

List<RectangleF> tabBarButtonFrames = new List<RectangleF>(); 

foreach (var view in this.tabBarController.TabBar.Subviews) { 
    if (view.ToString().Contains("UITabBarButton")) { 
     tabBarButtonFrames.Add(view.Frame); 
    } 

    Console.WriteLine(view.ToString() + "\t" + view.Frame.ToString()); 
} 

注:This link包含poupou

得到Objective-C类名的多种方式