デフォルトで imageView によって非表示にする必要がある containerView があります。起動時にイメージがコンテナを覆う必要があります。ただし、IB の階層化が正しく、コンテナの後に imageView が更新されたとしても、コンテナはまだ画像の前に表示されています。これが起こらないようにする方法はありますか?
IBの概要は次のとおりです。
これを最初に投稿したとき、私は画像ビューと、メイン ビュー内のビューの 3 つのボタンを持っていました。しかし、それ以来、私はそれが示されている方法に変更しました.
次のように、サブビューごとにアウトレットがあるとします: Container View-Container、Image View-backgroundImage、Buttons-item1、item2、item3。
ここに私が試したことのリストがあります:
[self.view sendSubviewToBack: _Container];
[self.view bringSubviewToFront: _item1];
[self.view bringSubviewToFront: _item2];
[self.view bringSubviewToFront: _item3];
[self.view bringSubviewToFront: _backgroundImage];
ビューコントローラーの可視座標からコンテナービューを移動しようとしましたが、これもうまくいきませんでした。
また、View Controller の viewDidAppear メソッドは次のとおりです。
最初にコンテナ ビューを設定し、次にボタンとイメージ ビューの初期設定を行います。このメソッドの一番下は、サブビュー コマンドを配置した場所です。うまくいけば、これは役に立ちます。
-(void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.containerViewController performSegueWithIdentifier:@"embedConverter" sender:nil];
_item1.center = self.view.center;
_item2.center = self.view.center;
_item3.center = self.view.center;
_item1.layer.anchorPoint = CGPointMake(.5,1.5);
_item3.layer.anchorPoint = CGPointMake(.5,-.5);
CGAffineTransform move1 = CGAffineTransformMakeTranslation(0, -15);
CGAffineTransform move3 = CGAffineTransformMakeTranslation(0, 15);
_item1.transform = move1;
_item3.transform = move3;
[_item1 setTranslatesAutoresizingMaskIntoConstraints:YES];
[_item2 setTranslatesAutoresizingMaskIntoConstraints:YES];
[_item3 setTranslatesAutoresizingMaskIntoConstraints:YES];
CGAffineTransform scale = CGAffineTransformMakeScale(1.25, 1.25);
_item1.transform = scale;
_item2.transform = scale;
_item3.transform = scale;
_item1.alpha = menuAlpha;
_item2.alpha = menuAlpha;
_item3.alpha = menuAlpha;
_menuBackground.image = [self applyBlurWithRadius:10
tintColor:[UIColor colorWithWhite:.3 alpha:.7]
saturationDeltaFactor:1
maskImage:nil];
}