我试图从 UITabBar 实现我自己的弹出菜单。我的应用程序允许用户指定在标签栏上显示哪些菜单,我不喜欢 iOS 在标签栏项目很多时使用的默认“更多”按钮,所以我想创建一些标签栏项目是“子菜单”,可以提供更多按钮的菜单。我希望它从 tabbaritem 本身弹出,并且每个用户的选项卡顺序可能不一样。到目前为止,我可以找到用户选择的 tabbaritem,但接下来我需要知道它的位置,以便我可以从该位置为弹出菜单设置动画。
有谁知道我如何才能找到所选 tabbaritem 的框架或位置?
我试图从 UITabBar 实现我自己的弹出菜单。我的应用程序允许用户指定在标签栏上显示哪些菜单,我不喜欢 iOS 在标签栏项目很多时使用的默认“更多”按钮,所以我想创建一些标签栏项目是“子菜单”,可以提供更多按钮的菜单。我希望它从 tabbaritem 本身弹出,并且每个用户的选项卡顺序可能不一样。到目前为止,我可以找到用户选择的 tabbaritem,但接下来我需要知道它的位置,以便我可以从该位置为弹出菜单设置动画。
有谁知道我如何才能找到所选 tabbaritem 的框架或位置?
您可以遍历您的子视图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());
}
注意:此链接包含更多从poupou获取 Objective-C 类名的方法