小编vac*_*ama的帖子

如何在Swift中更改UIBezierPath的颜色?

我有一个实例,UIBezierPath我想将笔画的颜色改为黑色以外的东西.有谁知道如何在Swift中这样做?

ios uibezierpath swift

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

不能调用非函数类型'CIImage'的值吗?

这段代码编译得很好

let ciImage = CIImage(image:UIImage())
Run Code Online (Sandbox Code Playgroud)

然而,当我把它移动到延伸 UIImage

extension UIImage {
    func foo() {
        let ciImage = CIImage(image:UIImage()) // compile error
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下编译错误

Cannot call value of non-function type 'CIImage?'

为什么?


使用Xcode Playground 7.1.1进行测试.和Swift 2.1

swift

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

Rubymotion和指针结构

我正在尝试cocosmotion,这是Cocos2d的Rubymotion实现.在我正在完成的教程中,我有一个以struct作为参数的方法.我咨询了Rubymotion和MacRuby文档,但无法弄清楚如何根据我需要的结构实例化一个新对象.我认为主要的问题是结构以小写字母开头,Ruby在我尝试使用它时认为它是一个局部变量.

我相信我遇到了同样的问题:https: //github.com/MacRuby/MacRuby/issues/121

有解决方案或解决方法吗?

结构在Objective-C中定义,如下所示:

 typedef struct _ccTexParams {
         GLuint  minFilter;
         GLuint  magFilter;
         GLuint  wrapS;
         GLuint  wrapT;
 } ccTexParams;
Run Code Online (Sandbox Code Playgroud)

我试图调用的方法需要一个ccTexParams结构.

这是我尝试过的:

            @mysprite = Pointer.new("{ccTexParams=
            {GLUint=GL_LINEAR_MIPMAP_LINEAR}
            {GLUint=GL_LINEAR}
            {GLUint=GL_CLAMP_TO_EDGE}
            {GLUint=GL_CLAMP_TO_EDGE}}", 4)
Run Code Online (Sandbox Code Playgroud)

当我这样尝试时:

        @mysprite = Pointer.new(:object, 4)

        @mysprite[0] = GL_LINEAR_MIPMAP_LINEAR 
        @mysprite[1] = GL_LINEAR
        @mysprite[2] = GL_CLAMP_TO_EDGE
        @mysprite[3] = GL_CLAMP_TO_EDGE
Run Code Online (Sandbox Code Playgroud)

运行时错误是:

expected instance of Pointer of type `{_ccTexParams=IIII}', got `@' (TypeError)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

@mysprite = Pointer.new("_ccTexParams", 4)

        @mysprite[0] = GL_LINEAR_MIPMAP_LINEAR 
        @mysprite[1] = GL_LINEAR
        @mysprite[2] = GL_CLAMP_TO_EDGE
        @mysprite[3] = GL_CLAMP_TO_EDGE
Run Code Online (Sandbox Code Playgroud)

错误:

Can't find pointer …
Run Code Online (Sandbox Code Playgroud)

ruby ios rubymotion

11
推荐指数
1
解决办法
694
查看次数

是否有一种增加可选Int的漂亮方法?

我想增加一个Int?
目前我写的这个:

return index != nil ? index!+1 : nil
Run Code Online (Sandbox Code Playgroud)

有没有更漂亮的方式来写这个?

int increment optional swift

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

如何在Swift代码中将元组追加到数组对象?

我搜索谷歌,但我找不到一种方法将新元素追加到Swift中的数组对象.出现错误代码"Missing arguments fot parameter"name in in call".我的代码被遵循.

var arrayObj: [(id: Int, name: String)] = []
var idInt: Int = 1
var nameString: String = "hoge"
arrayObj.append((        // ----> "Missing arguments fot parameter "name" in call"
    id: idInt,
    name: nameString
))
Run Code Online (Sandbox Code Playgroud)

如果你知道任何解决方案,我会很高兴.谢谢.

swift xcode6

9
推荐指数
3
解决办法
6483
查看次数

在Swift中生成强力球选择的单线程?

随着美国本周大量的15亿美元彩票,我在Ruby中编写了一个函数来制作强力球.在Powerball中,您可以从范围中选择5个数字1..69(没有重复项),并从该范围中选择1个数字1..26.

这就是我想出的:

def pball
    Array(1..69).shuffle[0..4].sort + [rand(1..26)]
end
Run Code Online (Sandbox Code Playgroud)

它的工作原理是创建一个从1到69的整数数组,对该数组进行混洗,选择前5个数字,对它们进行排序,最后添加1到26之间的数字.

要在Swift中执行此操作需要更多的工作,因为Swift没有内置shuffle方法Array.

这是我的尝试:

func pball() -> [Int] {
    let arr = Array(1...69).map{($0, drand48())}.sort{$0.1 < $1.1}.map{$0.0}[0...4].sort()
    return arr + [Int(arc4random_uniform(26) + 1)]
}
Run Code Online (Sandbox Code Playgroud)

由于没有shuffle方法,因此可以通过[Int]在范围内创建with值来实现1...69.然后它map用于创建[(Int, Double)]一个元组对数组,其中包含数字和Double范围内的随机数0.0 ..< 1.0.然后,它使用Double值对此数组进行排序,并使用秒map返回[Int],然后使用切片[0...4]提取前5个数字并对sort()它们进行排序.

在第二行中,它在范围中附加一个数字1...26.我尝试将其添加到第一行,但Swift给出了错误:

表达太复杂,无法在合理的时间内解决; 考虑将表达式分解为不同的子表达式.

任何人都可以建议如何将其转换为1行功能?也许有更好的方法来选择5个数字1...69.

ruby swift

9
推荐指数
3
解决办法
442
查看次数

如何在Swift中将"addTarget"添加到UILabel

我试图在Swift中添加标签,这些标签是在循环中添加的.然后我想在添加时为每个添加一个'TapGesture'事件.它可以工作,但问题是被调用的函数从标签中获取数据,以便在单击时使用,但标签已经被重新定义,然后它会从最后添加的数据中获取数据,而不是单击的数据.我怎样才能使每一个都独一无二?

self.label.attributedText = self.myMutableString
let tapGesture = UITapGestureRecognizer(target: self, action: handleTap(label))
self.label.userInteractionEnabled=true
self.label.addGestureRecognizer(tapGesture)
self.label.font = UIFont.boldSystemFontOfSize(28)
self.label.sizeToFit()
self.label.center = CGPoint(x: screenWidth, y: top)
if(kilom>=30||self.located==false){
    self.scroller.addSubview(self.label)
    if(device=="iPhone"||device=="iPhone Simulator"){
        top = top+80
    }
    else{
        top = top+140
    }
}
Run Code Online (Sandbox Code Playgroud)

下面的代码是手势识别器,它获取标签数据并使用它:

func handleTap(sender:UILabel){
    var a = self.label.text
    let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)

    let resultViewController = storyBoard.instantiateViewControllerWithIdentifier("displayer") 

    self.presentViewController(resultViewController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

uilabel swift addtarget

9
推荐指数
2
解决办法
9387
查看次数

为什么使用SwiftUI不会显示导航标题?

我正在SwiftUI使用Apple的官方教程进行学习:https//developer.apple.com/tutorials/swiftui/building-lists-and-navigation

一切工作正常,直到我尝试NavigationView通过调用在上显示导航标题.navigationBarTitle

我试图刷新实时视图,重新启动Xcode,但它仍然没有显示。

这是我的代码:

import SwiftUI

struct LandmarkList : View {
    var body: some View {
        NavigationView {
            List(landmarkData) { landmark in
                LandmarkRow(landmark: landmark)
            }
        }
        .navigationBarItem(title: Text("Done"))
        .navigationBarTitle(Text("Landmarks"))
    }
}

#if DEBUG
struct LandmarkList_Previews : PreviewProvider {
    static var previews: some View {
        LandmarkList()
    }
}
#endif
Run Code Online (Sandbox Code Playgroud)

Xcode看起来像这样:

屏幕截图

根据教程,它应该显示导航标题,但就我而言不显示。

知道为什么吗?谢谢!

ios swift swiftui

9
推荐指数
2
解决办法
2031
查看次数

请求GKStateMachine的简单示例?

我一直在为Swift研究Apple的状态机,并找到了几个例子,但是没有一个真的死了.

有人可以在Swift中掀起一个超级简单的GKStateMachine,可能有两个状态,最好是在一个Swift文件中?谢谢!

state-machine gamekit swift

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

堆栈视图受限于边距不留边距

我遇到了一些我不知道如何解决的问题......我正在学习一些有点旧的课程(它们是在 Swift 3 中完成的),我遇到了约束和边距的问题。我只是在听课,它说对于该堆栈视图,我需要设置以下约束: 给定约束

在向堆栈视图添加约束后,我得到了这个结果:

结果

这是我期望的结果:

预期结果

所以我的问题是为什么堆栈视图会超过边距,以及如何修复它。(提醒课程在 Swift 3 中,他们在边距内获得了堆栈视图)

xcode margins ios stackview autolayout

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