如何让Xcode的UI完全黑暗?
必须有一种方法可以为Xcode设置一个黑暗主题(例如Visual Studio就有它).我不只是谈论一种造型编辑器的方式,而是一个全面的黑暗主题.黑暗菜单,黑暗控制台,暗文件浏览器,黑暗菜单栏等.
Xcode明亮的用户界面在夜间受伤,我不能成为唯一一个真正寻找这个的人;)(请不要向我推荐f.lux,这不是解决方案)
在iOS中呈现快速更改文本(10-15个数字可以改变每一帧)的最高效的方法是什么?这些是我到目前为止所做的尝试:
1)CATextLayer+ CTFont和NSString:相当快,但无法访问我需要的字距调整.(如果有人知道如何使用CTFont和不使用kerning的技巧NSAttributedString,这也很酷,但这不是主要问题;))
2)CATextLayer+ NSAttributedString:缓慢且滞后.与1)相比,我看到了巨大的FPS下降.在我的应用程序中,此更改使FPS从50-60降至30.
3)位图字体,使用UIImageViews和UIImage显示数字:虽然不是很令人满意,但是在iOS中应该有更好的方式/更自然的方式来有效地渲染字体.
编辑:
4)UILabel+ NSString- 相当快,但再次无法访问字距.
5)UILabel+ NSAttributedString- 再次缓慢而迟缓.
渲染NSAttributedStringa比渲染基本要慢得多NSString.这真是令人沮丧,因为我现在需要NSAttributedString的只是字母之间的间距.
使用SceneKit时,更新方法:
func renderer(aRenderer: SCNSceneRenderer, updateAtTime time: NSTimeInterval)
Run Code Online (Sandbox Code Playgroud)
没有在主要的thead上调用,而是在其他一些线程上调用.
我应该在主线程上做什么,以及必须在这个"SceneKit线程"上做些什么?
我应该在哪里添加新的节点/几何?
修改这些对象的位置/等在哪里安全?
当我使用UIDocumentInteractionController它的背景色总是在一开始白色,当我点击它,(再次选择时和背面)它得到黑色.
我可以以某种方式反转这个甚至为两种模式设置自定义背景颜色吗?
另一个有趣的错误是,一旦我触摸屏幕,状态栏(我已禁用)会弹回.所以带有文档的白色屏幕 - >点击屏幕 - >带状态栏的黑色背景 - >点击状态栏的白色屏幕.
一旦我解雇了UIDocumentInteractionController,我再次禁用状态栏但它看起来真的很难看.
我已经正确设置了info.plist,UIViewController-wise决定状态栏外观设置为NO.
我在其他文章中读到,SceneKit只有两种混合模式,尽管我仍然想知道它们到底是如何工作的以及如何使用它们。
我目前正在尝试使用片段着色器绘制一些抗锯齿圆圈。因此,我想平滑这些圆圈和blur/或fade它们的边缘以使其透明。
使用普通混合模式(不带#transparent),SceneKit 的片段着色器将忽略任何 alpha 值更改,但仍会进行 alpha 混合。Alpha 混合根据材质颜色的 Alpha 值进行。因此,Alpha 混合是可能的,但不能在片段着色器中更改。
为了测试这一点,我使用了一个片段着色器添加,如下所示:
#pragma body
_output.color = vec4(1.0, 1.0, 1.0, 1.0);
Run Code Online (Sandbox Code Playgroud)
这是创建我的圈子的代码:
#define kDefaultCircleColor [UIColor colorWithRed: 0.5 green: 0.0 blue: 0.0 alpha: 0.5]
NSMutableDictionary *shaders = [NSMutableDictionary dictionary];
shaders[SCNShaderModifierEntryPointFragment] = [[NSString alloc] initWithContentsOfURL: [[NSBundle mainBundle] URLForResource: @"test" withExtension: @"shader"] encoding: NSUTF8StringEncoding error: NULL];
MLCircleNode *circNode1 = [MLCircleNode node];
circNode1.radius = 50;
circNode1.position = SCNVector3Make(100, 400, 0);
circNode1.color = kDefaultCircleColor;
circNode1.lineWidth = 15.0; …Run Code Online (Sandbox Code Playgroud) 以下摘录来自Apple文档,如何在iOS 7中恢复应用程序.他们说您可以存储收据并稍后查看用户已购买的内容,或者您可以刷新App Receipt.我的问题是:
1)是否有一个应用程序收据或有多个单一收据?
2)存储这些收据更有意义,而不是直接存储用户已经购买的功能
3)我如何检查从刷新中获得的收据?到目前为止,我所有试图解析它的尝试都失败了.
4)是否有任何框架具有很多功能(在iCloud上保存收据/购买的产品,使购买更容易,处理下载,处理各种连接问题等)?甚至可能支持远程服务器(和验证).
我希望有人能提供帮助!:)
刷新应用程序收据
创建收据刷新请求,设置委托,然后启动请求.该请求支持在测试期间以各种状态获取收据的可选属性,例如过期收据 - 有关详细信息,请参阅SKReceiptRefreshRequest的initWithReceiptProperties:方法的值.
request = [[SKReceiptRefreshRequest alloc] init];
request.delegate = self;
[request start];
Run Code Online (Sandbox Code Playgroud)
收据刷新后,检查并交付任何已添加的产品.
如何使用CAGradientLayer最有效地围绕圆/角度绘制渐变?
在这个项目的帮助下,我在下面做了一个.它使用位图上下文进行绘制,但CAGradientLayer效率更高.
不幸的是,我只能弄清楚如何用它来制作线性渐变.
我开始CAReplicatorLayer用来获得a的复制品CAShapeLayer.
instanceTransform我用来移动复制的图层的属性确实很好,但instanceAlphaOffset其他颜色偏移(例如instanceBlueOffset)没有任何效果.我能做些什么才能让它发挥作用?
我可以子类CAReplicatorLayer来定义在复制时更改的自定义属性吗?我很想改变填充和strokeColor的CAShapeLayer每重复.或者其他方式(没有子类化)可能吗?
在两个CALayers(例如两个CAShapeLayers)之间进行混合(例如添加剂)以使其正常工作和表现的最佳方法是什么?
这是因为CALayers它具有动画内容,就像CAShapeLayers改变形状一样.
将整个CALayer层次结构绘制到上下文(因此是 UIImage、PDF)的最佳方法是什么?
我的层次结构包含CATransformLayer、CATextLayers、CAReplicatorLayers和CAShapeLayers。
它在屏幕上看起来不错,但我从来没有让它在 UIImage 中看起来一样(我不想使用类似屏幕截图的渲染,因为我希望CAShapeLayers和CATextLayers被渲染为 PDF 的顶点图形)
这些是我面临的一些问题:
我希望你们中的某个人知道一种简单而安全的方法来将所有内容渲染到与屏幕上显示的完全一样的上下文!