3 つのビューがあります。1. これがメイン ビューで、他の 2 つのビューが含まれています。2. 最初よりも大きなビューです。3. 2 番目のビューに含まれています。
アスペクト比を維持しながら、2 番目 (および明らかに 3 番目) のサイズを最初のビューのサイズに変更したいと考えています。contentMode を scaleToAspectFitt に設定してこの結果を取得しようとしましたが、うまくいきません。
UIView *yellowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
yellowView.autoresizesSubviews = YES;
yellowView.backgroundColor = [UIColor yellowColor];
yellowView.autoresizesSubviews = YES;
yellowView.contentMode = UIViewContentModeScaleAspectFit;
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(0,0,350,400)];
blueView.autoresizesSubviews = YES;
blueView.contentMode = UIViewContentModeScaleAspectFit;
blueView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
UIView *darkView = [[UIView alloc] initWithFrame:CGRectMake(200, 100, 40, 40)];
darkView.backgroundColor = [UIColor blackColor];
darkView.contentMode = UIViewContentModeScaleAspectFit;
darkView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[blueView addSubview:darkView];
[yellowView addSubview:blueView];
[self.view addSubview:yellowView];
[yellowView setNeedsLayout];
[darkView release];
[blueView release];
[yellowView release];