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 良好的iOS表视图阴影(如时钟应用程序)_Iphone_Ios_Uitableview_Shadow - Fatal编程技术网

Iphone 良好的iOS表视图阴影(如时钟应用程序)

Iphone 良好的iOS表视图阴影(如时钟应用程序),iphone,ios,uitableview,shadow,Iphone,Ios,Uitableview,Shadow,我对iOS编码还很陌生,我似乎找不到一个好的教程版本来告诉我如何有效地将阴影添加到表视图中 我试过(然后是其他一些随机的): 根本不适合我,给了我错误 尝试了核心图形一个完美的工作,但在iPhone上非常缓慢。只是不快。我也尝试了一些图片,但是看起来很糟糕 有没有一个像默认时钟应用程序一样快速的好版本?必须有一些“标准”。没有真正的标准,但在大多数情况下,CAGradientLayer是正确的方法。您在使用它时遇到了什么错误?这在Matt Drance和Paul Warren的iOS食谱书的配

我对iOS编码还很陌生,我似乎找不到一个好的教程版本来告诉我如何有效地将阴影添加到表视图中

我试过(然后是其他一些随机的): 根本不适合我,给了我错误

尝试了核心图形一个完美的工作,但在iPhone上非常缓慢。只是不快。我也尝试了一些图片,但是看起来很糟糕


有没有一个像默认时钟应用程序一样快速的好版本?必须有一些“标准”。

没有真正的标准,但在大多数情况下,CAGradientLayer是正确的方法。您在使用它时遇到了什么错误?

这在Matt Drance和Paul Warren的iOS食谱书的配方20“为表格视图添加边框阴影”中有介绍。该配方将阴影图像视图添加到UITableView子类中,该子类根据需要在
布局子视图中重新定位


我也使用阴影图像视图作为表的页眉和页脚属性完成了这项工作,但这有一个明显的缺点,即阻止您添加其他视图作为页眉和页脚视图。

如果您在表视图中不使用表的页眉和页脚,下面是一个非常简单的解决方案:

  • 添加两个渐变视图(图像或带有渐变图形的UIView子类)作为tableHeaderView和tableFooterView。可以在Interface Builder中完成
  • 将“顶部”和“底部”表格视图的内容插入设置为渐变视图的负高度

  • 您可以在这里找到此解决方案的代码示例:

    我只是通过一个小技巧在表视图上获得了一个内部阴影

    我在表视图的顶部放置了一个1px X 320px UIView,然后在该视图周围放置了一个阴影,如下所示:

    self.shadowWrapper.layer.shadowColor = [[UIColor blackColor] CGColor];
    self.shadowWrapper.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
    self.shadowWrapper.layer.shadowOpacity = .90f;
    self.shadowWrapper.layer.shadowRadius = 3.0f;
    

    在我的例子中,我的表视图位于页面的一半,所以我使用另一个视图坐在“阴影包装器”的上方,并将阴影隐藏在阴影的顶部。这在我的表视图顶部留下了一个阴影,看起来像是一个内部阴影。

    实际上我刚刚修复了它,我的CoreGraphics框架出现在文件和文件夹中,但由于某种原因没有出现在项目构建阶段。但是,现在阴影没有出现。我不知道如何准确地调用ShadowViewTable。覆盖layoutSubviews的h类被称为/works。我试着在我的第一个视图中调用这个类(lol),但毫不奇怪,它不起作用。让“cocoawithlove”阴影生效。我必须确保我的表视图的对象是ShadowViewTable类。