0
  1. ビューコントローラーのセットが1つあります(.h、.m、および.XIB)
  2. ビューのセットが1つあります(.h&.m)

3. ビュー クラスは -->drawRect -->CALayer とサブレイヤーを使用してゲージを描画する役割を果たします。このビューには初期化メソッドがあり、このメソッドのみがレイヤーとサブレイヤーの境界を設定します。

ビュー コントローラーでは、xib と .h に 5 つのビューを作成し、5 つのビューすべてに同じビュー クラスを割り当てています。

問題は、5 つのビューすべての位置と境界が異なることです。しかし、私の drawRect ビュー クラスには、すべてのビューに対して 1 つの境界セットしかありません。そのため、1 つのビューに関して初期化メソッドで境界と位置をハードコーディングすると、残りの 4 つのビューが影響を受けます。どこが間違っているのか知っていれば教えてください。

4

1 に答える 1

0

+initializeメソッドは静的メソッドです。つまり、そのクラスのすべてのインスタンスに影響します。-initメソッド (またはカスタムメソッド) を使用し-initて、ビューに異なる境界を設定します。

少なくとも、あなたの質問を正しく理解していることを願っています。これが役に立たない場合は、いくつかのコードを投稿してください

于 2013-08-14T12:21:32.813 に答える