ios - 给 UIView 添加斜角效果

标签 ios uiview bevelled

我希望我的按钮看起来像这样。

enter image description here

我问过设计师,他说他用了斜角效果,我还是第一次听到斜角这个词。

我搜索了 Stack Overflow,但没有找到任何有用的信息。

最佳答案

我相信设计师的意思是斜面和浮雕效果。这是 UIImage 上的示例扩展,用于使用着色器图像应用浮雕效果。

extension UIImage {
    func applyBevelAndEmboss(shadingImage: UIImage) -> UIImage {
        // Create filters
        guard let heightMapFilter = CIFilter(name: "CIHeightFieldFromMask") else { return self }
        guard let shadedMaterialFilter = CIFilter(name: "CIShadedMaterial") else { return self }
        // Filters chain
        heightMapFilter.setValue(CIImage(image: self),
                                 forKey: kCIInputImageKey)
        guard let heightMapFilterOutput = heightMapFilter.outputImage else { return self }
        shadedMaterialFilter.setValue(heightMapFilterOutput,
                                      forKey: kCIInputImageKey)
        shadedMaterialFilter.setValue(CIImage(image: shadingImage),
                                      forKey: "inputShadingImage")
        // Catch output
        guard let filteredImage = shadedMaterialFilter.outputImage else { return self }
        return UIImage(ciImage: filteredImage)
    }
}

请向设计师索取着色器图像并将其应用于平面图像。

我个人的看法是,最好从设计师那里获取处理后的图像并使用它,而不是在应用程序中执行所有这些处理。

关于ios - 给 UIView 添加斜角效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53426915/

相关文章:

iphone - iOS 如何在不将其嵌入 UIWebView 的情况下直接播放 youtube 视频

iOS : How can I set frame of UILabel according to its text?

WPF:带有cornerRadius和Bevel的按钮模板看起来不正确

ios - 刷新持有 UITableView 的容器 View - Swift

ios - 在 Swift 1.2 中获取触摸坐标

ios - UIScrollView 中 subview 放错位置

ios - 表头 View 自动布局问题

iphone - UIView、animateWithDuration 和 beginFromCurrentState 的问题

iphone - 删除 Xcode 4 中的图标斜角

chart.js - 使用 Chart.js 设置条形和线条样式