小编Leo*_*bus的帖子

打开另一台Mac应用

在我的应用程序中,我想打开另一个安装在用户Mac上的应用程序(例如iPhoto).我不确定在文档中我应该寻找什么.这叫什么,我应该怎么做?谢谢

macos xcode external swift swift3

5
推荐指数
4
解决办法
6893
查看次数

如何在文本视图中的某个索引处获取字符的行号和列号?

我有一个NSTextView里面有很多文字。

如何在某个索引处获取字符的行号和列号?

让我们说,我有这段文字NSTextView

"This is just a\ndummy text\nto show you\nwhat I mean."
Run Code Online (Sandbox Code Playgroud)

我需要第 16 个字符的行号和列号。在这种情况下:

Line: 2
Column: 2
Run Code Online (Sandbox Code Playgroud)

我如何使用 Swift 计算/获得它?

另一个例子:

"This is just a\ndummy text\nto show you\nwhat I mean."
Run Code Online (Sandbox Code Playgroud)

我想要第15 个(或第 16 个,如果\n也计算在内)字符的行号和行号,如下所示:

Line: 2
Column: 1
Run Code Online (Sandbox Code Playgroud)

macos nstextview swift

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

屏幕截图显示空白 - Swift

嗨,我正在制作游戏,我已经为游戏添加了一个分享按钮.我希望用户能够在一条消息中彼此共享消息,URL和屏幕截图.它的共享方面工作正常,一切都在显示,除了屏幕截图本身显示为空白.这是我用来截取屏幕截图的代码:

   let layer = UIApplication.sharedApplication().keyWindow!.layer
    let scale = UIScreen.mainScreen().scale
    UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);

    layer.renderInContext(UIGraphicsGetCurrentContext())
    let screenshot = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)

    println("screenshot")
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题,请务必使用Swift语言.我也在使用SpriteKit技术,如果它有所作为.我是编码的新手,所以请非常清楚.非常感谢你!

screenshot uiview ios sprite-kit swift

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

如何将Swift可选的NSNumber转换为可选的Int?(我的代码有什么改进吗?)

在Swift中将可选数字转换为可选Int的最短/最干净的方法是什么?

有比这更好的方法吗?(见下文)

let orderNumberInt : Int?
if event.orderNum != nil {
    orderNumberInt = Int(event.orderNum!)
} else {
    orderNumberInt = nil
}
Run Code Online (Sandbox Code Playgroud)

nsnumber optional ios swift swift2

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

iOS - 任何方式让另一个应用程序正在播放歌曲信息

5年前有同样的问题,每个人回答"不,你不能,它是iOS沙箱",一般来说,它是一个iOS 5,但现在是2016年和iOS 9.3即将出现同样的问题:

我的应用程序需要知道关于现在在系统中播放歌曲的信息(tittle,艺术家,专辑),这意味着它需要支持任何播放器,如内置Apple Music或Spotify,Bandcamp等.我尝试访问MPMusicPlayerController.nowplayingitem,但它只适用于Apple Music应用程序,我试着打电话MPNowPlayingInfoCenter,据我所知,它只是让我设置一些信息到控制中心并锁定屏幕,如果你的应用程序现在在iOS中播放,但如果没有,它返回nil.
有没有办法做到这一点?斯威夫特回答欢迎

iphone objective-c ios swift

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

用swift划分图像阵列中的图像

我正在尝试将图像分割成16个(在矩阵中).我正在使用swift 2.1.这是代码:

let cellSize = Int(originalImage.size.height) / 4

for i in 0...4 {
        for p in 0...4 {
            let tmpImgRef: CGImage = originalImage.CGImage!

            let rect: CGImage = CGImageCreateWithImageInRect(tmpImgRef, CGRectMake(CGFloat(i * cellSize), CGFloat(p * cellSize), CGFloat(cellSize), CGFloat(cellSize)))!

            gameCells.append(cell)

        }
    }
Run Code Online (Sandbox Code Playgroud)

这有效,但返回的图像只是原始图像的一部分.我一直在搜索,我知道那是因为当我创建一个CGImage时,它的大小与UIImage不同,但我不知道如何修复它.如果我可以使用CGImage的高度而不是UIImage来制作变量cellSize,我想我会修复它,但我无法获得CGImage高度.

谢谢您的帮助!

uiimage ios swift swift2

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

具有关联值的Enum元素必须至少具有一个关联值

使用关联值定义枚举的语法可在Swift 4.2中正常使用

enum NetworkService {
    case lookUp(type: String)
    case allLookUps()
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在Xcode 10.2和Swift 5中转换代码时,抛出错误提示

具有关联值的Enum元素必须至少具有一个关联值 在此处输入图片说明

在这种特殊情况下,为allLookUps()关联值没有任何意义。那么,Swift 5中的最佳实践是什么?

swift

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

在 iOS13 上强制 QLPreviewController 进入编辑模式

只需呈现一个 QLPreviewController 来查看图像(在 iOS13 上)。理想情况下,我希望它自动切换到编辑模式(因此呈现 PencilKit 的东西。)

有人知道怎么做吗?setEditing: 方法(在 UITableViewControllers 上使用)似乎在这种情况下不起作用。

谢谢

quicklook ios swift ios13 pencilkit

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

快速的字符串分离,但包括

我需要将一个字符串分隔为一个子字符串数组,但需要",.?!"作为子字符串包含在 Swift 中。

var sentence = "What is your name?" into
var words = ["What", "is", "your", "name", "?"]
Run Code Online (Sandbox Code Playgroud)

我知道我可以用它来分隔空格,但我需要将".,?!"它分隔成单词数组中的一个单词。我怎样才能做到这一点?

var words = sentence.components(separatedBy: " ")
Run Code Online (Sandbox Code Playgroud)

我只得到 ["What", "is", "your", "name?"]

我需要分开 ? 在最后一个词,并使词数组像这样:

var words = ["What", "is", "your", "name", "?"]
Run Code Online (Sandbox Code Playgroud)

string swift

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

为什么 CILinearGradient 会导致非常非线性的梯度?

我是一个相对较新的 Swift 开发人员,我正在使用 CILinearGradient CIFilter 生成渐变,然后我可以将其用作背景和纹理。我对它的工作方式非常满意,直到我意识到从中产生的梯度似乎严重偏向远离光谱的黑端。

起初我以为我疯了,但后来我创建了纯黑到白和白到黑的渐变,并将它们并排放置在屏幕上。我截取了屏幕截图并将其带入了 Photoshop。然后我查看了颜色值。您可以看到每个渐变的末端对齐(一端为纯黑色,另一端为纯白色,另一端则相反),但每个渐变的中间点明显偏向黑色端。

在此处输入图片说明

这是 CIFilter 的问题还是我做错了什么?感谢任何对此有任何见解的人!

这是我的代码:

func gradient2colorIMG(UIcolor1: UIColor, UIcolor2: UIColor, width: CGFloat, height: CGFloat) -> CGImage? {
    if let gradientFilter = CIFilter(name: "CILinearGradient") {   
        let startVector:CIVector = CIVector(x: 0 + 10, y: 0)
        let endVector:CIVector = CIVector(x: width - 10, y: 0)
        let color1 = CIColor(color: UIcolor1)
        let color2 = CIColor(color: UIcolor2)
        let context = CIContext(options: nil)
        if let currentFilter = CIFilter(name: "CILinearGradient") {
            currentFilter.setValue(startVector, forKey: "inputPoint0")
            currentFilter.setValue(endVector, forKey: "inputPoint1")
            currentFilter.setValue(color1, forKey: "inputColor0") …
Run Code Online (Sandbox Code Playgroud)

ios swift

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