ios - 在 UIView/UIWindow 上应用过滤器以修改底层 View 渲染

标签 ios uiview uikit ios4 uiwindow

我正在尝试为我的应用创建一个“深色模式”,我想以一种非常简单的方式进行。有什么方法可以在我的其他 View 上应用过滤器或创建另一个 View ,使它们看起来是倒置的——很像 iOS 3.2+ 上的“辅助功能”?我知道 Core Image 滤镜在 iPhone 上不起作用,但这对我来说不是什么大问题——只要有办法应用不同类型的滤镜即可。

这在 iPhone 上可行吗? Apple 是如何做到的?

最佳答案

听起来您正在考虑在整个用户界面上放置一个充满深色的半透明 View 。如果是这样,那么您应该阅读 Forwarding Touch Events讨论所涉及的问题。

另一种方法是更改​​用于绘制 View 的颜色和图像集。

如果您处理的是自定义 View ,那么这两种方案都会更简单并且效果更好。如果您使用的是叠加层,上面链接的文档说明标准 UI 元素不适合事件转发。如果您更改颜色,嗯……根据您使用的 UI 元素,可能无法替换您自己的图像和颜色。

关于ios - 在 UIView/UIWindow 上应用过滤器以修改底层 View 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4493834/

相关文章:

ios - 当 UILabel 动态调整大小时,移动 UIView 中的 UIButton。 iOS系统

iphone - UIView翻转动画

ios - 单例类中的 NSDateFormatter 还是每个部分一个以获得更便宜的代码?

objective-c - 有没有办法获得 UIView TouchBegan 更精确的计时数据?

ios - 在 UIView 中触摸后发出警报

iphone - 如何确定 UINavigationController 中工具栏的高度?

ios - Swift - 向 UITextfield 添加带有间距的底线

iOS - 通过 HTTP POST 上传图片

java - 无法使用 NSInputStream 在 iOS 客户端中读取来自 Java 服务器的响应

ios - 体系结构 x86_64 的 undefined symbol : "_OBJC_CLASS_$_CMMotionManager", 引用自 : objc-class-ref in GooglePlus(GPPSpamSignal. o)