我正在使用以编程方式从按钮制作阴影的标准方法,但我想在完成按钮后不再存在阴影。我可以将不透明度设置为0,但阴影仍然存在,如果是这样,它仍然会对系统征税。感谢
这会产生错误
tempButton.superview.layer.shadowOffset = nil;
tempButton.superview.layer.shadowRadius = nil;
tempButton.superview.layer.shadowOpacity = nil;
答案 0 :(得分:27)
我通常会做以下事情以保证安全。
[[tempButton layer] setShadowOpacity:0.0];
[[tempButton layer] setShadowRadius:0.0];
[[tempButton layer] setShadowColor:nil];
Quartz经过高度优化,如果没有必要,不会浪费任何时间进行渲染。
答案 1 :(得分:1)
我只需删除按钮,然后用相同的(但不带阴影的)按钮替换它。或者保持两者并隐藏/取消隐藏其中一个。有时创建一个新的UI对象比使用现有的UI对象更容易。