Iphone UIView多重效果
我正在开发我的应用程序的iPad版本,我遇到了一个问题。我想制作一个具有多种视觉效果的Iphone UIView多重效果,iphone,performance,cocoa-touch,uiview,uikit,Iphone,Performance,Cocoa Touch,Uiview,Uikit,我正在开发我的应用程序的iPad版本,我遇到了一个问题。我想制作一个具有多种视觉效果的UItableView和UIView: 角半径(3px) 内部阴影(黑色,20%,10px) 投影(黑色,30%,5px) 结果必须类似于iPad上内置的提醒。app。这是我想要实现的Photoshop预览: 如您所见(如果不能,请以100%缩放打开此图像),左侧有UITableView,右侧有UIView。这两个视图都有角半径、内部阴影和投影阴影 我的问题是:如何通过编程实现这种效果而不降低性能(当我尝
UItableView
和UIView
:
- 角半径(3px)
- 内部阴影(黑色,20%,10px)
- 投影(黑色,30%,5px)
提醒。app
。这是我想要实现的Photoshop预览:
如您所见(如果不能,请以100%缩放打开此图像),左侧有UITableView
,右侧有UIView
。这两个视图都有角半径、内部阴影和投影阴影
我的问题是:如何通过编程实现这种效果而不降低性能(当我尝试使用layer.cornerRadius
或layer.shadow…
时,我的TableView已经失去了性能)
任何帮助都将不胜感激。在图层上设置
阴影路径是良好性能的关键。它接受一个CGPath
,因此类似于self.tableView.layer.shadowPath=[UIBezierPath-bezierPathWithRect:self.tableView.bounds].CGPath代码>应该会有很大帮助。在图层上设置阴影路径是良好性能的关键。它接受一个CGPath
,因此类似于self.tableView.layer.shadowPath=[UIBezierPath-bezierPathWithRect:self.tableView.bounds].CGPath代码>应该有很大帮助。实际上,最简单、最快的方法是使用图像,并使backgroundColor=清晰的颜色;但我想让这些视图以编程的方式显示它们的框架。图像会被破坏,为什么会被扭曲?您可以使用StretcableImageWithLeftCapWidth:topCapHeight:定义图像的哪个部分应拉伸。因此,您可以定义一个像素大小,该大小在整个高度上重复,加上图像的底部和顶部。实际上,最简单、最快的方法是使用图像,并使backgroundColor=清晰的颜色;但我想让这些视图以编程的方式显示它们的框架。图像会被破坏,为什么会被扭曲?您可以使用StretcableImageWithLeftCapWidth:topCapHeight:定义图像的哪个部分应拉伸。所以你可以定义一个像素大小,它在整个高度上重复,加上图像的底部和顶部你没有回答我的问题。。。如何一次产生3种效果?我是在解决您最初尝试时对性能的担忧。内心的阴影是坚韧的,不用自己画。只需在表视图的图层上设置这些属性,即可实现投影和角半径。对于内部阴影,您可以在透明图像上创建可拉伸的黑色,可以扩展到任何帧。创建一个在适当帧处包含阴影的图像,并将其设置为新CALayer
的内容。将该层添加为表视图层的子层。您可能需要在UIKit级别处理帧更改的动画。好的,我创建了一个UIImageView并将其添加到表视图上方。但是,当旋转我的iPad帧属性时,动画有点难看。它不流利。。有什么建议吗?好吧,我意识到这不是UIImageView的错。谢谢你的建议!对于那些不精通英语的人(比如世界人口的一大部分),林奇平可以翻译成“钥匙”。你没有回答我的问题。。。如何一次产生3种效果?我是在解决您最初尝试时对性能的担忧。内心的阴影是坚韧的,不用自己画。只需在表视图的图层上设置这些属性,即可实现投影和角半径。对于内部阴影,您可以在透明图像上创建可拉伸的黑色,可以扩展到任何帧。创建一个在适当帧处包含阴影的图像,并将其设置为新CALayer
的内容。将该层添加为表视图层的子层。您可能需要在UIKit级别处理帧更改的动画。好的,我创建了一个UIImageView并将其添加到表视图上方。但是,当旋转我的iPad帧属性时,动画有点难看。它不流利。。有什么建议吗?好吧,我意识到这不是UIImageView的错。谢谢你的建议!对于那些不精通英语的人(比如世界人口的很大一部分),lynchpin可以翻译为“关键”。