0

私はアイデアに行き詰まっている興味深いシナリオを持っています。誰かが何らかの「UIButton + FloatingLabel」カテゴリを知っているか、見落としている簡単なものを知っていることを願っています。

さまざまな幅のボタンがたくさんある水平スクロール UIScrollView があります。私が直面している問題は、UIButton が表示されているビューの外にスクロールし始めると、textLabel がそれに沿って移動することです (ラベルはボタンに leftAligned されます)。

これを検出し、ボタン全体がスクロールして消えるまで、ラベルを残りのボタンのビュー内に「フローティング」させておきたいと思います。

私が考えることができる最も近いことは、UIScrollView をオーバーライドし、layoutSubviewscontentOffset の更新ごとにラベル ビューをチェックすることですが、これは多くのボタンで非常にコストがかかる可能性があります。

誰かがいくつかのガイダンスやいくつかの有用なリンクを提供できますか? どんな助けでも大歓迎です、乾杯!

4

1 に答える 1

0

これを実装する方法の 1 つは、サブクラスUIButton化し、そのサブクラスで独自のラベルを使用することです。drawRect:次に、カスタムのメソッドをオーバーライドしUIButtonて、物理画面上のボタンの位置に基づいてラベルの位置を変更します ( [UIScreen mainScreen])。

お役に立てれば。

于 2012-08-22T22:27:31.617 に答える