小编jen*_*dan的帖子

Swift 函数,一个参数有两个名称

我注意到一些方法,例如init(nibName nibName: String?, bundle nibBundle: NSBundle?),一个参数有两个“名称”,除了第一个不能在方法内部使用。在这种情况下,您不能使用bundle但可以使用 nibBundle。例如,当我打电话时,super.init(nibName: nibName, bundle: bundle)我收到错误“使用未解析的标识符‘捆绑’”。

我的问题是:它是什么(双命名参数)?如何正确使用?

编辑:现在很明显它是外部参数名称的东西。我有 UIViewController 的子类并覆盖以下方法。我不明白nibBundle 是从哪里来的?显然它没有在函数头中定义。

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
   super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
   let someBundle = nibBundle
   print(someBundle)
}
Run Code Online (Sandbox Code Playgroud)

parameters function swift

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

具有UIToolbar的CNContactPickerViewController

如何实现与iOS Apple Maps中相同的联系人选择器?

从图片中可以看到,在“地图”应用中,您可以在收藏夹位置和联系人之间切换。我想在选择器和一些自定义表格之间进行切换,而无需关闭动画,并使用像这样的通用控件UISegmentedControl

我没有提出CNContactPickerViewController或实施问题UISegmentedControl。我在将工具栏添加到时遇到问题CNContactPickerViewController

  • 我试图将其推入我的尝试UINavigationController并没有成功。

  • 我尝试添加UIToolbarCNContactPickerViewController 没有添加UINavigationController

  • 我也尝试将其添加到子视图中, childViewControllers

文档没有说明如何使用它。此页面声称:

CNContactPickerViewController的实例无法推入堆栈。

任何建议表示赞赏:)

在此处输入图片说明 在此处输入图片说明

objective-c uitoolbar ios swift cncontact

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

以编程方式添加SKReferenceNode

我有2d级别,所以我把它分成更多的.sks文件.我有"GameScene",我可以通过拖放操作在场景编辑器中加入它们.它创建了SKReferenceNodes.我成功完成了这一切.但我想在代码中需要时懒洋洋地加载这些部分(据说这是一个很好的做法).我失败了.

这是代码的特殊部分:

if let nextPart = SKReferenceNode(fileNamed: "Scene2_city2") {
        if self.childNodeWithName("Scene2_city2") == nil {
            self.addChild(nextPart)
        }
    }
Run Code Online (Sandbox Code Playgroud)

"Scene2_city2"是.sks文件的名称,也是文件内的Scene名称.

运行代码我收到一个错误:

***终止应用程序由于未捕获的异常'无法添加正文,已存在于世界中',原因:'无法添加正文类型:表示对象:[名称:'Scene2_city2'框架:{{ - 0,-0},{1024 ,768}}锚:{0,0}],已经存在于一个世界中

这很奇怪,因为我在添加之前先检查一下.

问题:如何以编程方式将SKReferenceNode添加到SKScene中?

编辑:这是bitbucket上的简单示例项目.添加参考场景以进行点击.

sprite-kit skscene swift

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

光标在错误的地方,在contenteditable

我有令人满意的div与不可编辑的"岛屿".一切都运行良好,直到不可编辑的部分是可编辑div中的最后一件事.在这种情况下,光标不是在不可编辑的后面,而是在可编辑div的最后.

看到这个例子,我借用了这个问题

这是你可以尝试的小提琴:http://jsfiddle.net/RYsvZ/2/ .当你删除末尾的点时,光标会跳开.这种行为与safari和chrome有关.我想这是webkit问题.

这是代码示例:

<div contenteditable="true" class="editor">
Sample template with <span class="mergecode" contenteditable="false">MergeCode1</span>.
</div>
Run Code Online (Sandbox Code Playgroud)

你知道它为什么会发生以及如何解决它吗?

safari webkit google-chrome cursor contenteditable

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