Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UIView多重效果_Iphone_Performance_Cocoa Touch_Uiview_Uikit - Fatal编程技术网

Iphone UIView多重效果

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。这两个视图都有角半径、内部阴影和投影阴影 我的问题是:如何通过编程实现这种效果而不降低性能(当我尝

我正在开发我的应用程序的iPad版本,我遇到了一个问题。我想制作一个具有多种视觉效果的
UItableView
UIView

  • 角半径(3px)
  • 内部阴影(黑色,20%,10px)
  • 投影(黑色,30%,5px)
结果必须类似于iPad上内置的
提醒。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可以翻译为“关键”。