web-dev-qa-db-ja.com

同じサブビューを複数回追加して表示する

これが可能かどうかはわかりませんが、ビューにサブビューを数回追加したいと思います。私はこのようなことを試しました:

[self.view addSubview: newView];
newView.center = CGPointMake(160, 100);
[self.view addSubview: newView];
newView.center = CGPointMake(160, 200);
[self.view addSubview: newView];

これは、新しいものを追加せずに、newViewを移動するだけです。何か案は?

私もこれを試しました:

[self.view addSubview:newView];
UIView *anotherView = newView;
anotherView.center = CGPointMake(160, 100)
[self.view addSubview:anotherView];

編集

これが私が時間とともに学んだ解決策です

この問題を解決する別の方法は、ビューを含む別のペン先を作成し、ペン先のインスタンスを数回追加することです。このソリューションを実装するための適切なテンプレートは、カスタムUITableViewCellcellForRowAtIndexPathメソッドで使用されるのと同じ方法で実行することです。

25
coder

ビューは、単一の親ビューの階層にのみ含めることができます。新しいものに追加するとすぐに、前のものから削除されます。この場合、それは削除され、同じビューの階層に追加されます。サブビューを複数回表示するには、サブビューのコピーを作成する必要があります。

48
Christopher A