を使用する UI が与えられておりUITabBarController
、タブ付きの 1 つでViewControllers
、View
(a としての矢印UIImageView
) をタブ インジケーターに対して相対的に配置する必要があります (矢印は、x-軸)。基本的な計算を使用して、既知の変数に基づいて位置をエミュレートしました。iPhone/Pod では横向きと縦向きの両方で適切に機能しますが、iPad では失敗します (両方の向きで少し右すぎます - 横向きでは悪いように見えますが、それはおそらくあくまで私の認識です)。
これが私が使用したものです:
int visibleWidth = self.view.frame.size.width;
int tabBarSize = self.tabBarController.tabBar.frame.size.width;
int tabSize = tabBarSize / [self.tabBarController.viewControllers count];
int tabPosition = 2; // hint should point at the 3rd tab
int arrowIconWidth = hintIcon.image.size.width;
int arrowIconHeight = hintIcon.image.size.height;
int tabEmulationPosition = visibleWidth / 2 - tabBarSize / 2;
int tabOffsetPosition = tabEmulationPosition + ( tabSize * tabPosition );
int iconPosition = tabOffsetPosition + ( tabSize / 2 - arrowIconWidth / 2 );
数学を「偽造」しようとするよりも良い方法はありますか (おそらくgetBoundingClientRect
型メソッドですか?) または、私が持っているものに修正可能な欠陥があると仮定して、数学アプローチが最善の策ですか?
ティア