小编Roi*_*lia的帖子

IOS - 处理大量图像的最佳实践(性能+磁盘大小)

我的应用程序UIKit存储了100个(100x100) jpeg文件,假设用作"模式图像".每张图片的平均大小有时像20~40 kb.

我也是cocos2d-x开发人员.在cocos环境中,我正在使用plist"绑定"每个图像而不是通过切割它plist.这是伟大的性能和尺寸保护,但据我所知,它不可能UIKit.

所以我的问题是,有没有更好的方法来存储/拉动这些图像以提高磁盘容量和提高性能,除了将文件拖放到XCode并像往常一样使用它?

size performance xcode image ios

7
推荐指数
1
解决办法
1622
查看次数

iOS 11 - 使用大标题模式时的UINavigationItem titleView

我试图理解它是一个错误或它是预期的行为.

iOS 10及更早版本中,我们可以使用设置自定义标题navigationItem.titleView.
iOS的11,我们设置时navigationItem.largeTitleDisplayMode = .always并设置navigationItem.titleView = <Some cool UIButton>它的显示正常航行标题栏和导航的大标题.

插图: 在此输入图像描述

总结一下:

我们如何在大型导航标题上使用自定义titleView?

编辑:这是预期的结果:

在此输入图像描述

uinavigationitem titleview navigationbar ios ios11

7
推荐指数
2
解决办法
3273
查看次数

ARKit - 将 CIFilter 应用于 ARFaceAnchor 的特定顶点

我正在尝试将 aCIFilter应用于ARFaceAnchor. 我能够使用以下方法访问顶点:

let vertices = faceAnchor.geometry.vertices 

let relevantVertices = [vertices[580], 
                        vertices[1019], 
                        vertices[1017], 
                        vertices[660]]
Run Code Online (Sandbox Code Playgroud)

但是我无法理解如何将它与节点一起使用(不确定这是否是解决方案),以便在面部移动时使这些顶点不断更新CIFilter

例如,我选择了一些顶点,并使用 Photoshop 对选定的顶点(硬编码)应用了黑白滤镜进行演示。想象一下没有线条:)

在此处输入图片说明

任何帮助将不胜感激!

augmented-reality ios scenekit swift arkit

7
推荐指数
0
解决办法
557
查看次数

Swift 2.0 - Google Analytics事件构建器错误 - NSMutableDictionary无法转换为[NSObject:AnyObject]

完美地使用Swift 1.2

代码:

 var build = GAIDictionaryBuilder.createEventWithCategory("Record Counter", action: "Images Taken", label: "usersad", value: 1  ).build() as [NSObject : AnyObject]
 self.tracker.send(build)
Run Code Online (Sandbox Code Playgroud)

错误:

NSMutableDictionary is not convertible to [NSObject : AnyObject]   
Run Code Online (Sandbox Code Playgroud)

任何的想法?

google-analytics ios swift

6
推荐指数
1
解决办法
1349
查看次数

如何使用PHAssetResourceRequestOptions progressHandler/PHAssetResourceProgressHandler

我正在尝试检索/下载Live Photo的视频/帧.至于API文档,有可能将Live Photos存储在iCloud中.为了检索它们,你需要声明

let options = PHAssetResourceRequestOptions()
        options.networkAccessAllowed = true  
Run Code Online (Sandbox Code Playgroud)

我正在尝试在下载Live Photo时创建进度条.根据API,您需要声明此属性:

public var progressHandler: PHAssetResourceProgressHandler?

progress    
A floating-point value indicating the progress of the download. 
A value of 0.0 indicates that the download has just started,
and a value of 1.0 indicates the download is complete. 
Run Code Online (Sandbox Code Playgroud)

我还没有找到正确的方法来检索那些.有什么建议吗?

完整代码:

 let assestResource = PHAssetResource.assetResourcesForAsset(asset)
 let options = PHAssetResourceRequestOptions()
 options.networkAccessAllowed = true
for assetRes in assestResource {
            print(assetRes.type.rawValue)
            if (assetRes.type == .PairedVideo) {
                print("imageTaken")
                manager.writeDataForAssetResource(assetRes, toFile: documentsURL,    options: options, completionHandler: { (error) …
Run Code Online (Sandbox Code Playgroud)

objective-c progress ios swift phasset

6
推荐指数
1
解决办法
3717
查看次数

在 SPM(Swift 包管理器)中导入 .framework

我们正在尝试将TikTokOpenSDK.frameoworkhttps://developers.tiktok.com/doc/ios_quickstart)集成到我们的自定义中Swift Package

\n

TikTok 仅向我们提供.framework访问权限(您可以手动下载)。到目前为止,我未能将其集成,无论我尝试哪种组合,它都会失败unsupported extension for binary target \xe2\x80\x98TikTokOpenSDK\xe2\x80\x99; valid extensions are: xcframework

\n

在此输入图像描述

\n

任何帮助将不胜感激。谢谢你!

\n

xcode frameworks cocoapods swift swift-package-manager

6
推荐指数
1
解决办法
3530
查看次数

仅绘制阴影*围绕*UIView,其中包含透明度

问题我正在努力.到目前为止,我已经搜索过了一段美好的时光,但找不到答案.

我有一个UIView包含alpha值的0.5,意思是 - 它transparent.

如果我正在应用通常的UIView阴影代码-

 class func applyShadow(view : UIView)
    {
        view.layer.shadowColor = UIColor.blackColor().colorWithAlphaComponent(0.15).CGColor
        view.layer.shadowOpacity = 1
        view.layer.shadowOffset = CGSizeMake(0, 0.5)
        view.layer.shadowRadius = 1.3
        view.layer.masksToBounds = false
        view.layer.shouldRasterize = true
        view.layer.rasterizationScale = UIScreen.mainScreen().scale

    }
Run Code Online (Sandbox Code Playgroud)

我的"填充"也UIView被遮蔽了.

我怎样才能在我的"边界"路径上绘制阴影UIView,不包括UIView填充?

objective-c shadow uiview ios swift

5
推荐指数
1
解决办法
411
查看次数

像 Instagram 一样在 ViewController 之间设置 UITextView 动画

我很长一段时间以来一直想知道 Instagram 是如何实现他们的文本编辑器过渡的:

在此输入图像描述

初步猜测,我想说他们在同一个 UIViewController 上执行文本编辑和“移动”,但就他们的复杂程度而言,他们一定找到了一种方法来从 VC A 过渡到 VC B,其中 VC B 完成整个文本编辑。我开始认为 VC A(运动 VC)持有 UITextView 的“快照”,其中 VC B 实际上持有对象(然后用户可以编辑它) 。

我不是寻找拖放代码解决方案。我试图大声思考在正确的架构和用户体验方面实现相同行为的可能性有哪些。

感谢您的时间,

罗伊

transition uitextview uiviewcontroller ios swift

5
推荐指数
1
解决办法
259
查看次数

将 OpenGL 着色器转换为 Metal (Swift) 以在 CIFilter 中使用

我对OpenGL/Metal很陌生,我正在尝试理解一些基本概念。
在我们的应用程序中,我们使用CIFilter过滤视频。我看到了WWDC2017 年的一个视频,解释说您可以将其包裹CIFilter起来Metal并将其用作常规过滤器。
我试图了解如何将此OpenGL视频效果转换为Metal这样我可以将其用作未来效果的参考点。

void mainImage(out vec4 fragColor, in vec2 fragCoord) {
float amount = sin(iTime) * 0.1;

// uv coords
vec2 uv = fragCoord / iResolution.xy;

amount *= 0.3;
float split = 1. - fract(iTime / 2.);
float scanOffset = 0.01;
vec2 uv1 = vec2(uv.x + amount, uv.y);
vec2 uv2 = vec2(uv.x, uv.y + amount);
if (uv.y > split) {
    uv.x += scanOffset; …
Run Code Online (Sandbox Code Playgroud)

opengl shader cifilter swift metal

5
推荐指数
1
解决办法
1539
查看次数

Metal 相当于 OpenGL 混合

mix OpenGL我试图了解金属中的功能相当于什么。这是OpenGL我试图转换的代码:

float udRoundBox( vec2 p, vec2 b, float r )
{
    return length(max(abs(p)-b+r,0.0))-r;
}

void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
    // setup
    float t = 0.2 + 0.2 * sin(mod(iTime, 2.0 * PI) - 0.5 * PI);
    float iRadius = min(iResolution.x, iResolution.y) * (0.05 + t);
    vec2 halfRes = 0.5 * iResolution.xy;

    // compute box
    float b = udRoundBox( fragCoord.xy - halfRes, halfRes, iRadius );

    // colorize (red / black )
    vec3 …
Run Code Online (Sandbox Code Playgroud)

shader ios swift metal

5
推荐指数
2
解决办法
2341
查看次数