1

UITabBar から独自のポップアップ メニューを実装しようとしています。私のアプリでは、ユーザーがタブ バーに表示されるメニューを指定できます。タブ バーの項目が多い場合に iOS が使用するデフォルトの [その他] ボタンが気に入らないため、タブ バーの一部を作成したいと考えています。さらにボタンのメニューを表示する「サブメニュー」となる項目。tabbaritem 自体からポップアップさせたいのですが、タブの順序はすべてのユーザーで同じではない可能性があります。これまでのところ、ユーザーが選択した tabbaritem を見つけることができますが、次に、その場所からポップアップ メニューをアニメーション化できるように、その場所を知る必要があります。

選択したタブバーアイテムのフレームまたは位置を見つける方法を知っている人はいますか?

4

1 に答える 1

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());
}

注:このリンクには、 poupouから Objective-C クラス名を取得する方法がさらに含まれています。

于 2013-06-24T11:27:34.387 に答える