0

いくつかのラベルとカスタムカラーを使用してIBで作成されたUIViewがあり、それをIBOutletとしてリンクして、viewControllerでアクセスできるようにしました。

@property (strong, nonatomic) IBOutlet UIView *tile;

ループ内にこのアウトレットをもっと作成したいのですが:

- (void)viewDidLoad {
    [super viewDidLoad];
    int i = 0;
    while (i <= 9) {
        UIView *cTile = [self.tile copy];
        [self.view addSubview:cTile];
        i += 1;
    }
}

tileそのため、このアウトレットをコピーしてから、コピーしたビューをメインビューに追加しようとしています。どうやらこれは実行できず、エラーを返します。

そのような動作を実現し、IBOutletを再利用/複製することは可能ですか?

4

1 に答える 1

2

UIViewはNSCopyingプロトコルに準拠していないため、あなたがやりたいことは可能ではないと思います。

最善の策は、UIViewサブクラスとして「タイル」を作成するか、ペン先を作成して、何度でもリロードできるようにすることです。

于 2012-04-17T08:04:55.453 に答える