0

そこで、2つの要素を保持している場合に、それらの間に線を作成するカスタムビューを作成するビューコントローラーを作成しました。セパレータ。

ビューとその要素はInterfaceBuilderで作成され、それらの配置はそこで設定されます。

私がやろうとしているのは、サブ要素の原点座標と幅/高さを読み取って、それらの間にセパレータを動的に描画できるようにすることです。

クラスにあるNSArray self.subviewsメソッドconvertRectとメソッドを使ってconvertPointみました。NSView

誰かが私がこれを行う方法を知っていますか?

すべての助けをいただければ幸いです。

4

2 に答える 2

0

これはかなり興味深いリクエストですが、これはかなりうまくいくはずだと思います。これは、サブビューが左/右であることを前提としています。上/下が必要な場合は、> =を<=に逆にして、xではなくyを比較します。

-(void)example {
        if (self.view.subviews.count ==2) {
             CGPoint origin1 = [self.view.subviews objectAtIndex:0].frame.origin;
             CGPoint origin2 = [self.view.subviews objectAtIndex1].frame.origin;
             if (origin1.x >= origin2.x)
                 [[self.view.subviews objectAtIndex:0]setFrame:someFrameOnTheLeft];
                 [[self.view.subviews objectAtIndex:0]setFrame:someFrameOnTheRight];
              }
     }
于 2012-07-03T14:25:01.203 に答える
0

xibから各サブビューにアウトレットをリンクします。ストーリーボード内のこのアクセスビューを参照してください

アウトレットupperViewに電話して、lowerView

ビューの原点を取得するには、

float x = upperView.frame.origin.x;
float y = upperView.frame.origin.y;
于 2012-07-03T14:20:33.583 に答える