我正在努力实现一些微不足道的事情。我想给我的UIButton应用一个阴影;没有阴影半径。这对我来说似乎不起作用。一旦我将阴影半径设置为0,阴影就会完全消失,而将其设置为任何其他值将正常绘制阴影。
这是我的代码:
btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(10, someView.frame.size.height-150, someView.frame.size.width-20, 60);
btn.backgroundColor = UIColorFromRGB(kOrangeColor, 1.0f);
btn.layer.cornerRadius = kCornerRadius;
btn.titleLabel.font = kEdmondsansBold(24.0f);
[btn addTarget:self action:@selector(doSomethingFancy) forControlEvents:UIControlEventTouchUpInside];
btn.layer.shadowOffset = CGSizeMake(0, 2);
btn.layer.shadowColor = UIColorFromRGB(0xff2400, 1.0f).CGColor;
btn.layer.shadowOpacity = 1.0f;
btn.layer.shadowRadius= 0.0f;
[btn setTitleColor:UIColorFromRGB(0xffffff, 1.0f) forState:UIControlStateNormal];
[btn setTitle:@"Fancy fancy" forState:UIControlStateNormal];
[someView addSubview:btn];
答案 0 :(得分:1)
当radius
设置为0时,正如您所期望的那样
阴影'消失'。
但它没有,它只是隐藏在按钮后面。
要获得实体阴影,您还必须设置如下偏移:
button.layer.shadowOffset = CGSizeMake(xOffset, yOffset);
如果你想在所有边上添加阴影,那么你应该考虑使用边界而不是阴影:
button.layer.borderColor = [UIColor blackColor].CGColor;
button.layer.borderWidth = 3.f;