这可能是关于iOS中的图层的初学者问题,但我想不出合适的方法来处理它...
我以编程方式创建一个UIView并向其中添加一个按钮。
UIView *subview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
UIButton *mybutton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[mybutton setTitle:@"Test1" forState:UIControlStateNormal];
mybutton.frame = CGRectMake(0,0,50,50);
[subview mybutton];
比起对子视图演示文稿进行一些操作来更改其图层属性。例如,我更改视图边框半径并添加阴影:
[subview.layer setCornerRadius:10.0f];
[subview.layer setShadowColor:[UIColor blackColor].CGColor];
[subview.layer setShadowOpacity:0.8];
[subview.layer setShadowRadius:3.0];
我看到这些层的问题不仅针对子视图,还针对mybutton发生了变化。
例如,按钮标题也有阴影。
我制作了一个示例屏幕截图,以更好地解释我的问题:
http://img46.imageshack.us/img46/8923/havq.png
如何在iOS中处理?是我添加按钮的某种其他图层吗?
感谢您的建议和帮助!
最佳答案
问题不在于您对图层的所有更改,仅是阴影。这是因为阴影已应用到复合alpha通道的图层,并且包括其子图层。
您可以:
使用阴影路径而不是标准偏移量
添加一个不同的子层以在其上指定阴影(该阴影是该按钮的同级对象)
关于iphone - 如何更新UIView的图层属性并使它的图层保持 subview ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17434145/