小编Roi*_*lia的帖子

动画绘制圆圈

我正在寻找一种动画绘制圆圈的方法.我已经能够创建圆圈,但它将所有这些组合在一起.

这是我的CircleView班级:

import UIKit

class CircleView: UIView {
  override init(frame: CGRect) {
    super.init(frame: frame)
    self.backgroundColor = UIColor.clearColor()
  }

  required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }


  override func drawRect(rect: CGRect) {
    // Get the Graphics Context
    var context = UIGraphicsGetCurrentContext();

    // Set the circle outerline-width
    CGContextSetLineWidth(context, 5.0);

    // Set the circle outerline-colour
    UIColor.redColor().set()

    // Create Circle
    CGContextAddArc(context, (frame.size.width)/2, frame.size.height/2, (frame.size.width - 10)/2, 0.0, CGFloat(M_PI * 2.0), 1)

    // Draw
    CGContextStrokePath(context);
  }
}
Run Code Online (Sandbox Code Playgroud)

以下是我如何将其添加到视图控制器中的视图层次结构中:

func addCircleView() …
Run Code Online (Sandbox Code Playgroud)

geometry progress drawrect uiviewanimation swift

98
推荐指数
5
解决办法
6万
查看次数

过滤字符串数组,包括"喜欢"条件

如果我的主阵列是["Hello","Bye","Halo"],并且我正在搜索"lo",它将仅过滤数组["Hello", "Halo"].

这就是我尝试过的:

 let matchingTerms = filter(catalogNames) {
        $0.rangeOfString(self.txtField.text!, options: .CaseInsensitiveSearch) !=  nil
    }
Run Code Online (Sandbox Code Playgroud)

它抛出

Type of expression is ambiguous without more context
Run Code Online (Sandbox Code Playgroud)

有什么建议?

arrays string filter ios swift

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

iPhone X - 隐藏状态栏向上推动导航栏

我正在使用Xcode模拟器测试iPhone X的行为.由于一些奇怪的原因,如果我隐藏状态栏,导航栏向上推动导致标题完全消失并切断左右按钮.这只发生在iPhone X上.

插图:

在此输入图像描述

如何隐藏状态栏并将导航栏保持在可见位置?

更新:

你说服的示例项目:

https://drive.google.com/file/d/0B5qJARV-Oc9ra1hvZkpXZm9lRUE/view?usp=sharing

statusbar uinavigationbar uinavigationcontroller ios iphone-x

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

移动到背景和返回后,AVCaptureVideoPreviewLayer(相机预览)冻结/卡住

无法想象这一个.当应用程序处于活动状态时,一切正常,有时当我将应用程序移动到后台(按下主页按钮)而不是返回时,预览层会冻结/卡住.我使用viewWillAppear和viewDidAppear进行设置.这是我如何设置一切:

  var backCamera = AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo)
  var global_device : AVCaptureDevice!
  var captureSession: AVCaptureSession?

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

captureSession = AVCaptureSession()
        captureSession!.sessionPreset = AVCaptureSessionPresetPhoto
        CorrectPosition = AVCaptureDevicePosition.Back
        for device in backCamera {
            if device.position == AVCaptureDevicePosition.Back {
                global_device = device as! AVCaptureDevice
                CorrectPosition = AVCaptureDevicePosition.Back
                break
            }
        }


        configureCamera()
        var error: NSError?
        var input = AVCaptureDeviceInput(device: global_device, error: &error)


        if error == nil && captureSession!.canAddInput(input) {
            captureSession!.addInput(input)

            stillImageOutput = AVCaptureStillImageOutput()
            stillImageOutput!.outputSettings = [AVVideoCodecKey: AVVideoCodecJPEG]
            if captureSession!.canAddOutput(stillImageOutput) {
                captureSession!.addOutput(stillImageOutput) …
Run Code Online (Sandbox Code Playgroud)

camera preview ios avcapturesession avcapturedevice

18
推荐指数
2
解决办法
9019
查看次数

协议类型不能符合协议,因为只有具体类型才能符合协议

在应用程序中,我们有两种类型的贴纸,字符串和位图。每个贴纸包可以包含这两种类型。这就是我声明模型的方式:

// Mark: - Models

protocol Sticker: Codable {
}

public struct StickerString: Sticker,  Codable, Equatable {
    let fontName: String
    let character: String
}

public struct StickerBitmap: Sticker,  Codable, Equatable {
    let imageName: String
}
Run Code Online (Sandbox Code Playgroud)

在用户选择一些贴纸并使用它们后,我们希望将这些贴纸保存到其中,UserDefaults以便我们可以向他显示“最近使用过的”贴纸选项卡。我正在尝试解码保存的[Sticker]数组:

let recentStickers = try? JSONDecoder().decode([Sticker].self, from: data)
Run Code Online (Sandbox Code Playgroud)

但我收到以下编译错误:

Protocol type 'Sticker' cannot conform to 'Decodable' because only concrete types can conform to protocols
Run Code Online (Sandbox Code Playgroud)

我不明白为什么我声明Stickeras Codablewhich 也实现了Decodable. 任何帮助将不胜感激!

protocols ios swift codable decodable

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

在App Purchase中 - 当试图再次购买消费品时 - 这个应用内购买已经被购买

我的iTunes连接中有可用的产品,当我试图购买两次(在我的iPhone上)时,它告诉我我已经买了它.但这是消耗品的全部要点,用户可以一遍又一遍地购买.有什么建议?

xcode ios skproduct swift

15
推荐指数
1
解决办法
4258
查看次数

通过KeyChain保存并检索值

我正在尝试存储一个Integer并使用KeyChain检索它.

这是我保存它的方式:

func SaveNumberOfImagesTaken()
    {
        let key = "IMAGE_TAKEN"
        var taken = 10
        let data = NSKeyedArchiver.archivedDataWithRootObject(taken)
        let query : [String:AnyObject] = [
            kSecClass as String : kSecClassGenericPassword,
            kSecAttrAccount as String : key,
            kSecValueData as String : data
        ]
        let status : OSStatus = SecItemAdd(query as CFDictionaryRef, nil)

    }
Run Code Online (Sandbox Code Playgroud)

这是我尝试检索它的方式:

func CheckIfKeyChainValueExitss() -> AnyObject? {
    var key = "IMAGE_TAKEN"
    let query : [String:AnyObject] = [
        kSecClass as String       : kSecClassGenericPassword,
        kSecAttrAccount as String : key,
        kSecReturnData as String  : kCFBooleanTrue, …
Run Code Online (Sandbox Code Playgroud)

keychain nskeyedarchiver ios swift

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

Swift - 在[String]数组中找到最长字符串的最佳实践

我试图找到在字符串数组中获取最长字符串的最有效方法.例如 :

let array = ["I'm Roi","I'm asking here","Game Of Thrones is just good"]
Run Code Online (Sandbox Code Playgroud)

结果将是 - "Game Of Thrones is just good"

我尝试过使用maxElementfunc,因为它以字母的形式给出了最大字符串(maxElement()).

有什么建议?谢谢!

sorting string max maxlength swift

11
推荐指数
2
解决办法
6070
查看次数

AVAsset方向/旋转问题

试图使用Ray伟大的教程来解决方向问题.

左 - 视频应该如何(纵向),右边 - 不需要的旋转结果

在此输入图像描述

使用的代码

   func setUpVideoNew()
    {

        let originalVideoTrack = asset.tracksWithMediaType(AVMediaTypeVideo)[0]
        let composition = AVMutableComposition()
        let videoTrack = composition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: 1)
        let timeRange = originalVideoTrack.timeRange
        do {
            try videoTrack.insertTimeRange(timeRange, ofTrack: originalVideoTrack, atTime: kCMTimeZero)
        } catch {

        }
        let mainInstruction = AVMutableVideoCompositionInstruction()
        mainInstruction.timeRange = timeRange

        let firstlayerInstruction = AVMutableVideoCompositionLayerInstruction(assetTrack: videoTrack)
        let firstAssetTrack = originalVideoTrack


        //MARK - Fix Rotation
        var firstAssetOrientation_ = UIImageOrientation.Up

        var isFirstAssetPortrait_ = false

        var firstTransform = videoTrack.preferredTransform;
        if firstTransform.a == 0 && firstTransform.b …
Run Code Online (Sandbox Code Playgroud)

orientation avplayer avasset swift avplayeritem

9
推荐指数
1
解决办法
2256
查看次数

Xcode 9将P3 PDF资源渲染为SRGB

我花了好几个小时试图弄明白这个.

目标

显示P3 PDF资产UIImageView(PDF颜色空间中的PDF为100%).

问题

我正在创建一个P3 PDF资产并添加到Xcode中.在资产目录中,资产以正确的P3颜色显示.UIImageView在iPhone X 内部使用资产并在其上运行(物理设备,支持P3色彩空间)时,显示的资产是SRGB而不是P3.


有没有人有关于如何解决这个问题的信息?
任何帮助将受到高度赞赏.
投资回报率

xcode uiimageview color-space ios asset-catalog

9
推荐指数
1
解决办法
472
查看次数