私はこの単純なコードを持っています:
UIView* shadowView = [[UIView alloc] initWithFrame:CGRectMake(0, 30, self.view.frame.size.width, 5)];
shadowView.backgroundColor = [UIColor whiteColor];
shadowView.layer.masksToBounds = NO;
shadowView.layer.shadowOffset = CGSizeMake(0, 0);
shadowView.layer.shadowColor = [[UIColor blackColor] CGColor];
[shadowView.layer setShouldRasterize:YES];
shadowView.layer.shadowOpacity = 1;
[self.view addSubview:shadowView];
これにより、上下に影のある白いビューが作成されます。両方の影は、上から下へのグラデーションで、適切に方向付けられています。
この変更を行う場合:
shadowView.layer.shadowOffset = CGSizeMake(0、5);
すると、影は(私が望んでいたように)下部にのみ表示されますが、グラデーションはどういうわけか失われます。上が下のグラデーションと重なっていると思います。
底だけに影を落とすにはどうすればよいですか?(これはIOS6の下にあります)。
基本的に私はこの画像を作成したいと思います: