小编use*_*509的帖子

通过Swift中的触摸检测应用程序何时处于活动状态或非活动状态

可以使用哪些代码来检测用户何时与应用程序交互以及用户何时未与应用程序交互?

目前,我有一个ViewController具有UIView由覆盖触摸接收触摸,也可接收平移手势和轻敲姿势.此问题的解决方案需要与当前手势分开或者位于这些手势之上.

是否有一个手势识别器位于其他所有可以告诉我的应用程序接收到手势和没有收到手势时?

当应用程序处于活动状态时,是否有办法监控应用程序是否正在接收触摸,何时不是,并根据需要调用函数,例如:

func appActive(){
    print("App received input from a touch, tap, swipe, long press etc.")
}

func appInactive(){
    print("App stopped receiving any input.")
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

optimization performance uiview ios swift

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

Xcode中UIView颜色混合模式

问题:

我有一个看似简单的问题,但我就是无法弄清楚。

我在 Xcode 中有一个故事板,其中三个故事UIView板彼此重叠;一红UIView一蓝UIView一绿UIView

当所有人UIView都有一个alphaof时,我得到图像 A1.0中所示的结果。

当所有人UIView都有一个alphaof时0.5,我得到的结果如图 B所示。

问题:

  1. 如何使每个图像UIView看起来像具有差异或加色混合模式的图像 C ?

  2. 我怎样才能在每次UIView移动时实现这一目标?(类似于 Siri 挥手动画中看到的效果。)

图片:

在此输入图像描述

在此输入图像描述

graphics colors uiview ios swift

5
推荐指数
0
解决办法
1837
查看次数

与 UIActivityViewController 共享图像和文本到 Facebook Messenger 失败

\n

问题

\n\n

必须对下面的代码进行哪些更改才能确保 Messenger 能够很好地处理UIActivityViewController并共享图像和文本,或者至少共享图像?

\n
\n\n
\n\n

背景

\n\n

我用来UIActivityViewController分享我的应用程序中的文本和图像,并将它们发送到电子邮件、消息和其他共享应用程序。UIActivityViewController很棒,并且可以以简单且标准的方式与大多数应用程序\xe2\x80\xa6 配合使用,但是,我\xe2\x80\x99m 与 Messenger (Facebook Messenger) 存在问题,它不想\xe2\x80\x99 合作。

\n\n

在下面的代码中,我点击 aUIButton来拍摄屏幕的快照图像,将其转换为 .png,然后将准备好的图像 ( imageShare) 连同我准备的文本 ( textShare) 一起发送到UIActivityViewController. 这个简单的方法允许我的应用程序成功共享到电子邮件、消息和除 Messenger 之外的许多其他共享应用程序。

\n\n

(旁注,Facebook 只能分享准备好的图像 ( imageShare),但不能分享文本。)

\n\n
\n\n

问题

\n\n

UIActivityViewController这些是尝试与 Messenger共享时出现的问题:

\n\n
    \n
  • 分享时activityItems: [textShare, imageShare]

    \n\n
      \n
    • Messenger 仅发送共享文本。
    • \n
  • \n
  • 分享时activityItems: [textShare]

    \n\n
      \n
    • 共享到 Messenger 的选项甚至在UIActivityViewController.
    • \n …

optimization ios uiactivityviewcontroller facebook-messenger swift

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

使用 UIActivityViewController 将 PNG 图像共享到 Facebook Messenger 总是失败

这是一个具有专业知识的专家的问题。

可以PNGUIActivityViewController许多共享平台成功共享高质量的无损图像,但每次都失败的 Facebook Messenger 除外。提供的错误是“Couldn’t Load Content”

UIImagePNGRepresentation NSDataAnyObject失败中的Facebook Messenger中,UIImage成功然而股BUT的输出图象似乎是一个JPG和低质量和有损耗的。

题:

这里发生了什么以及如何纠正——我如何成功地与UIActivityViewControllerFacebook Messenger共享高质量的无损 PNG 图像?

这是 Facebook Messenger、Xcode 或UIActivityViewController?

NSDataAnyObject(和 UIImage)有替代品吗?

代码:

var myImage: UIImage! 
var myImagePNG: NSData! 
//var myImagePNG: AnyObject!

func sharePNG() { …
    myImagePNG = UIImagePNGRepresentation(myImage)!
    let activity = UIActivityViewController(activityItems: [myImagePNG], applicationActivities: nil)
    self.presentViewController(activity, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

图片:

在此处输入图片说明

xcode ios messenger uiactivityviewcontroller swift

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

在 Swift 中手动设置 iOS 相机的曝光

我了解 iOS 中的相机在拍摄视频和照片时会自动连续调整曝光。

问题:

如何关闭相机的自动曝光?

在 Swift 代码中,如何将相机的曝光设置为“零”,以便曝光对周围环境完全中性而不补偿光线?

optimization camera ios avcapturesession swift

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

本地化系统生成的隐私警报消息 iOS UIAlertView Xcode

我正在使用 Xcode Swift 1.1 开发一个应用程序,并使用 iOS 7.1 和 iOS 8.1 模拟器对其进行测试。

\n\n

该应用程序允许用户访问他们的照片库,但在此之前,iOS 会显示隐私警报消息标题,以英语请求用户的许可 - \xe2\x80\x9c应用程序名称\xe2\x80\x9d 想要访问您的照片。(旁注:调用 PHAsset 和/或 ALAssetsLibrary 时会触发警报。)

\n\n

我的应用程序将提供几种不同语言的版本,例如中文。但是,每当我尝试本地化或测试不同的语言设置时,上述隐私警报消息始终以英语显示。我希望系统隐私警报消息以用户设备上设置的语言显示。

\n\n

我\xe2\x80\x99在Xcode中尝试了许多不同的位置设置和本地化语言,在模拟器中没有任何区别。

\n\n

我是否应该期望(或放心)在真实设备上设置不同的位置会让 iOS 自动为所有系统生成的隐私警报消息显示正确的语言?

\n\n

我在本地化系统隐私警报消息时缺少什么?

\n\n

(注意:我还无法在真实设备上进行测试,并且在 Info.plist 中设置“隐私 - 照片库使用说明\xe2\x80\x9d 键不会更改隐私警报消息标题,但会设置一个可选说明”而是警报。)

\n

xcode localization uialertview ios swift

4
推荐指数
1
解决办法
2336
查看次数

Swift中的人工制品绘图

下面的代码通过覆盖触摸来绘制线条,但是在绘制时仍然存在伪像,如下图所示。

当在屏幕上进行锯齿形绘制时改变方向时,有时线会变成平坦的直角,而不是保持圆形。当在小圆圈上现场绘制时,也会出现伪影,当手指离开屏幕时,绘制点会闪烁半个圆圈,有时会留下半个圆圈和部分圆圈残留物。

伪影是断断续续的,不是完全一致或可预测的,这使得很难在代码中找到问题。它同时存在于模拟器和iOS7-iOS9的设备中。

包含两个绘制点和线的视频屏幕截图以及Xcode项目的zip文件以名为Archive.zip(23MB)https://www.dropbox.com/s/hm39rdiuk0mf578/Archive.zip?dl的文件上传到DropBox。= 0

问题:

1-在代码中,造成此点/半圆伪像的原因是什么?如何纠正?

在此处输入图片说明

class SmoothCurvedLinesView: UIView {
    var strokeColor = UIColor.blueColor()
    var lineWidth: CGFloat = 20
    var snapshotImage: UIImage?

    private var path: UIBezierPath?
    private var temporaryPath: UIBezierPath?
    private var points = [CGPoint]()
    private var totalPointCount = 0

    override func drawRect(rect: CGRect) {
        snapshotImage?.drawInRect(rect)

        strokeColor.setStroke()

        path?.stroke()
        temporaryPath?.stroke()
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        let touch: AnyObject? = touches.first
        points = [touch!.locationInView(self)]
        totalPointCount = totalPointCount + 1
    }

    override func touchesMoved(touches: Set<UITouch>, …
Run Code Online (Sandbox Code Playgroud)

drawing ios uibezierpath swift

3
推荐指数
1
解决办法
864
查看次数

在 Swift 中使用 renderInContext 捕获出现在屏幕上的选定视图时出现问题

我的故事板上有 3 个视图,viewA, viewB, viewC

我试图屏幕捕获只有两个视图,因为它们出现在屏幕上的当前位置,viewB并且viewC.

问题是,当我渲染它们时,捕获的结果图像显示viewB并且viewC在不正确的位置,视图的位置改变移动左上角 (0, 0),见图像。

如何更正下面的代码,以便我可以使用下面的实现捕获视图viewBviewC准确地将它们定位在视图上renderInContext

UIGraphicsBeginImageContextWithOptions(self.view.frame.size, false, 0)
self.viewB.layer.renderInContext(UIGraphicsGetCurrentContext()!)
self.viewC.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

ios uigraphicscontext swift

3
推荐指数
1
解决办法
427
查看次数

如何在Swift中获取数字的整数部分和小数部分

这是一个超级基本的问题,但是,我似乎无法在Swift中找到答案.

题:

如何获取Swift 2和Swift 3中数字的整数部分和小数部分(分别位于小数点的左侧和右侧)?例如,对于数字1234.56789 -

如何获得整数部分1234 .56789?

我如何获得小数部分1234. 56789

math optimization swift

3
推荐指数
4
解决办法
8593
查看次数

Swift 中平滑扩展 UIView 动画

目的:

如何制作我UIView想要扩展以填满整个屏幕的动画。需要UIView在动画时以平滑、均匀和平衡的方式扩展。

我在屏幕上放置了一个红色方块,一开始很小,然后扩展到适合屏幕。(图 1。)

let subview = UIView()
subview.backgroundColor = .red
subview.frame = CGRect(x: 60, y: 200, width: 50, height: 50)
self.view.addSubview(subview)
Run Code Online (Sandbox Code Playgroud)

问题:

在 Swift 2 和 Swift 3 中,使用animateWithDuration,如何使红色方块UIView以平衡且均匀的方式向各个方向扩展以填充整个屏幕?

UIView.animateWithDuration(1.0, delay: 0, options: nil, animations: {

    ?????

}, completion: nil)
Run Code Online (Sandbox Code Playgroud)

图片1:

在此输入图像描述

animation uiview ios animatewithduration swift

3
推荐指数
1
解决办法
1万
查看次数