0

私はこの単純なコードを持っています:

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の下にあります)。

基本的に私はこの画像を作成したいと思います:

ここに画像の説明を入力してください

4

1 に答える 1

0

どうやらこれはシャドウがios6で機能する方法です。問題は、オフセット(0、5)を設定していて、5が線よりも単純に大きいことでした。しばらく値を試してみたところ、影を落とす画像よりも大きな影を付けようとしない限り、下向きに影を落とすことができることに気づきました。

于 2012-11-12T09:37:36.363 に答える