在Monotouch Xamarin.iOS中找到UITabBarItem的位置

本文关键字:UITabBarItem 位置 Monotouch Xamarin iOS | 更新日期: 2023-09-27 18:19:05

我试图从一个UITabBar实现我自己的弹出菜单。我的应用允许用户指定在标签栏上显示哪些菜单,我不喜欢iOS在有很多标签栏项时使用的默认"更多"按钮,所以我想创建一些标签栏项作为"子菜单",以提供更多按钮的菜单。我想它从制表项本身弹出,制表项的顺序可能不一样,为每个用户。到目前为止,我可以找到标签项的用户选择,但接下来我需要知道它的位置,所以我可以动画弹出菜单从该位置。

有谁知道我怎样才能找到所选制表项的框架或位置吗?

在Monotouch Xamarin.iOS中找到UITabBarItem的位置

您可以遍历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());
}
注意:这个链接包含了从popou
获取Objective-C类名的更多方法。