MarqueeLabel
UILabelテキストが含まれているビューに対して長すぎる場合に、サブビューUILabel ivarをマーキー方式でアニメーション化するUIViewサブクラス(私が呼び出している)の作成に取り組んでいます。
UILabel ivar のすべての標準 UILabel (テキスト、フォント、色など) インスタンス変数を設定/取得するためだけMarqueeLabel
に、クラスにメソッドを記述する必要なく、クリーンな実装を望んでいました。メッセージ転送でこれを行う方法を見つけました。送信された認識されていないメソッドはすべて、UILabel ivar に渡されます。私の場合、認識されないメソッドは、UILabel で通常使用されるメソッドです。MarqueeLabel
MarqueeLabel
ただし、このアプローチにはいくつかの問題があります
。 1.[marqueeLabel setText:@"Label here"]
ではなく、を使用する必要がありますmarqueeLabel.text
。
「MarqueeLabel」は「-setText:」に応答しない場合があります
私は無視することを知っていますが、他の人を苛立たせます。
これらの問題を回避するために、メソッドを ivar に「持ち込む」方法はありますか?
ありがとう!
注:これを設定した方法も、最適な方法ではない可能性があります。UILabel のサブクラス化またはクラス継続の方がよいのかもしれませんが、これらのメソッドを使用して、アニメーション + クリッピング (スクロールするテキストが UIView を含む領域から移動して消えるとき) をどのように行うことができるかを把握できませんでした。
注2:サブビューUILabelのmarqueeLabel.subLabel.text
場所を使用できることはわかっています。subLabel
そして、これは私がとる方向かもしれませんが、より良い解決策があるかどうかを確認することもできます!