2016-12-30 14 views
0

私はゲームのスコアマーカーを作っています。スコアが上がるにつれて、マーカーが増えて追加されている余分な数字に対応できるようになります。私は、リサイズをスムーズにして、表示される新しいスコアをアニメートしたい。最初はUILabelを使用していましたが、背景とテキストを独立してアニメーション化することはできません(同じレイヤーになっているため)。UIVIewサイズの制約を避ける

IはUIViewをサブクラス化し、私は今、独立して、バックグラウンド(UIView層)とテキスト(CATextLayerサブ層)をアニメーション化できるように、サブ層としてCATextLayerを追加することを決定しました。

それは一つのことを除いて、素晴らしい作品

、私はこのような画面の中央下部にマーカーを置い:enter image description here

問題がある私は、xとyの位置の制約を追加する必要がありますというエラーを取得していることまたは幅と高さ。ビューを拡大できるようにするため、サイズの制約を追加することはできません。相対的なので、xまたはyの制約を追加することはできません。不等式制約を使用すると、エラーが発生するため、無用です。

私はILabel,UIButtonまたは他のUIViewのサブクラスを使用して問題はないことを知っています。私は代わりにUILabelをサブクラス化して、同じ効果を達成するためにテキストを空のままにしておき、それらの制約について心配する必要はありませんが、それはやや間違っているように感じます。さらに、UILabelはUIViewのサブクラスなので、おそらくサイズの制約を設定する必要がないというオプションがあると思います。

私はまだUIViewをサブクラス化するために何かできますか、それともUILabelなどをサブクラス化して無料で入手する必要がありますか?

答えて

0

お試しコンテンツハングプライオリティ。またはコンテンツ圧縮耐性。あなたがそれらに精通していない場合、それらについて明確に理解するためのチュートリアルです。 Hugging priority Vs Compression resistence

もう一つの選択肢があります。あなたが直面している唯一の問題が自動レイアウトエラーになる場合は、すべてが問題ないことを除いてプレースホルダーの制約を使用できます。

関連する問題