有谁知道为什么CGContextDrawImage会把我的形象颠倒过来?我从我的应用程序加载图像:
UIImage *image = [UIImage imageNamed:@"testImage.png"];
Run Code Online (Sandbox Code Playgroud)
然后简单地要求核心图形将其绘制到我的上下文中:
CGContextDrawImage(context, CGRectMake(0, 0, 145, 15), image.CGImage);
Run Code Online (Sandbox Code Playgroud)
它呈现在正确的位置和尺寸,但图像是颠倒的.我一定错过了一些非常明显的东西吗?
我需要复制UIButton在点击时对图像所做的效果,突出显示.看到:

原始PNG是具有alpha背景的正方形.当我将其设置为UIButton的图像时,它会自动对图像的非alpha像素应用效果.
怎么做这个效果?
我知道,对于类元素UIButton和UIBarButtonItem他们自动承担window.tintColor作为主色,这会导致情况下,我在应用中的任何时间设置新的tintColor到窗口立即改变的.
我想知道是否有任何方法可以使UILabel元素遵循相同的模式,一旦创建它们会自动保持其默认颜色window.tintColor,如果window.tintColor在我的应用程序运行时间内随时更改也会导致UILabel自动更改tintColour?
我希望这是有道理的.
我正在开发一个应用程序 - 或者更确切地说是一些可重用的"框架",我很乐意在它工作时分享它.在此应用程序中,用户应该能够从颜色主题列表中进行选择.因此,应用程序必须能够以某种相当动态的方式对其UI元素进行着色.
对于按钮,所有着色都不起作用.必须在此处提供正确着色的背景图像.但是为每个人准备一套背景图像只是第二好的.它不够动态和灵活.
最后,解决方案可能归结为为所选和正常状态提供一个单色(灰色)梯度图像,并使用CoreGraphics或OpenGL以编程方式对图像着色.但坦率地说,我不知道从哪里开始.渐变应该如何,然后我将如何以任何给定的颜色以编程方式着色?
几乎适用于UISegmentedControls,只是有点复杂.:)任何涵盖UISegementedControls的通用解决方案也非常感谢.