小编Nik*_*nko的帖子

Swift包管理器 - Swift 4语法

我正在尝试使用更新的SPM for Swift4与以下Package.swift文件 - PackageDescription API Version 4

import PackageDescription

let package = Package(
    name: "Name",
    dependencies : [
        .package(url: "url", .branch("swift4"))
    ],
    exclude: ["Tests"]
)
Run Code Online (Sandbox Code Playgroud)

我也有正确版本的SPM:

Apple Swift软件包管理器 - Swift 4.0.0-dev(swiftpm-13081.9)

但我无法通过swift build命令构建库.我看到以下错误:

...错误:类型'版本'没有成员'分支'

swift swift-package-manager swift4

12
推荐指数
1
解决办法
3560
查看次数

数学符号作为函数参数

我可以以某种方式发送数学符号(+, - ,*)作为函数参数?我想reduce()为不同的标志调用功能.

swift

7
推荐指数
3
解决办法
1635
查看次数

模拟退格按钮JS

我想创建一个自定义退格按钮,其逻辑与键盘上的"退格"按钮相同.我使用以下代码:

function backSpace()
{
    var e = jQuery.Event("keyup");
    e.which = 8; // # Some key code value
    e.keyCode = 8;
    $("mainDiv").trigger(e);
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="styles.css" type="text/css" media="screen" />
        <script src="formulas.js"></script>
        <script src="http://code.jquery.com/jquery-1.11.3.js"></script>
        <meta name="viewport" content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=no"/>
    </head>

    <button onclick="backSpace()">backSpace</button>
    <body id="main" spellcheck="false">
        <div id = "mainDiv" contenteditable="true"></div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我不明白我做错了什么.我花了很多时间来解决这个问题,但我还没有解决它.请帮帮我.

javascript jquery

6
推荐指数
2
解决办法
4969
查看次数

有没有办法为“UIApplication.shared”添加“if (iOSApplicationExtension)”条件

我试图找到一种方法来添加检查条件 框架中的扩展目标(不是主应用程序)。是否可以依靠 #available(iOSApplicationExtension, *)一些参数调整?

@objc public extension UIView {
    var isAccessibilityCategory: Bool {
        if #available(iOSApplicationExtension, *) {
            return self.traitCollection.preferredContentSizeCategory.isAccessibilityCategory
        } else {
            return UIApplication.shared.preferredContentSizeCategory.isAccessibilityCategory
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何检测代码是否在主应用程序或应用程序扩展目标中运行?- 不起作用,因为框架不知道扩展目标

ios swift ios-extensions

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

UIControl的sendActions在测试目标中不起作用

我试图测试何时UITextField发送editingChanged事件时调用特殊处理程序。因此,为此,我通过sendActions方法模拟了此事件。但这在Test target中不起作用,仅在项目中即可(运行模式-模拟器)。

我写了一个小例子:

class Strange {
    private let handler: () -> Void

    init(textField: UITextField, handler: @escaping () -> Void) {
        self.handler = handler
        textField.addTarget(self, action:#selector(textableValueChanged), for: .editingChanged)
    }

    @objc private func textableValueChanged() {
        handler()
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我想查看“测试”打印,但sendActions事件后未调用此处理程序。我也尝试过,expectation但没有帮助。

func testStrangeBehaviour() {
    let expectation = self.expectation(description: "Bla-bla")
    s = Strange(textField: textfield1) {
        print("test")
        expectation.fulfill()
    }

    textfield1.sendActions(for: .editingChanged)
    waitForExpectations(timeout: 5, handler: nil)
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ios xctest swift xctestexpectation

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

在UITableViewCell上设置自定义分隔符插入

在我的UITableView我想要一个' 居中 '分隔效果,其中分隔符从左边缩30pt,从右边缩30.我已经设法从Interface Builder设置TableView本身的' Custom Insets '属性,但我不能通过代码重现这种行为(我必须这样做).

特别是,使用这段代码:

self.tableView.separatorColor = .green
self.tableView.separatorStyle = .singleLine
self.tableView.separatorInset = UIEdgeInsets(top: 0, left: 30, bottom: 0, right: 30)
Run Code Online (Sandbox Code Playgroud)

还有这一个:

@objc(tableView:cellForRowAtIndexPath:) func tableView(_ tableView:  UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "recent_cell") as! TPExpandableTableViewCell
    //setting cell insets
    cell.separatorInset = separatorInset
    cell.item = items[indexPath.row]
    return cell
}
Run Code Online (Sandbox Code Playgroud)

我在iPhone 6S模拟器上获得了以下输出:

分隔器

似乎分隔符内容视图收缩,但分隔符背景视图不会收缩.我还试图删除设置单元格的separatorInset的行,结果是插入等于UIEdgeInset.zero

我可以确认绿色开启下的白线是与分隔符相关的视图,因为如果我将separatorStyle更改为.none,它会消失

有帮助吗?

uitableview separator ios uiedgeinsets swift

4
推荐指数
2
解决办法
7736
查看次数

旋转SCNNode相对本地坐标

我正在尝试旋转节点SCNAction,但它相对于父坐标空间旋转.是否可以相对于本地坐标系旋转节点?

scenekit scnnode

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

如何在UITests Target中找到带有accessibilityIdentifier的UIView

我试图在测试目标中找到一个UIView带有navigationBar 的元素,accessibilityIdentifier以便检查isEnabled状态.

尝试了不同的解决方案,但找不到所需的解决方案.有没有办法实现想要的东西?

试过这个解决方案:application.groups.matching(identifier: "navigationBar")- 不起作用.

xcode ios xcode-ui-testing

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

选择器可观察 - RxSwift

我正在尝试将我的FRP理解从ReactiveCocoa 2.5迁移到RxSwift,我有一个误解.在ReactiveCocoa中,我rac_signalForSelector想在观察方法的调用时使用.有没有办法使用RxSwift实现这个逻辑?

我写了一个小例子,我想在test方法调用时处理订阅.但是在订阅块中我仍然可以看到一个next(6)事件.我究竟做错了什么?

let subject = PublishSubject<Int>()
subject.takeUntil(self.rx.sentMessage(#selector(test))).subscribe { event in
    print(event)
}

subject.onNext(3)
test()
subject.onNext(6)

//////////////////

func test() {

}
Run Code Online (Sandbox Code Playgroud)

ios swift rx-swift reactivex rx-cocoa

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

重试延迟 - RxSwift

有没有优雅的解决方案来造成延迟retry?当错误发生时我想等待 5 秒并重新启动 Observable ( retry)

ios swift rx-swift

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

隐藏类符合协议的逻辑

有没有办法隐藏该类符合某些协议?就像在Objective-C中一样 - 只是用于在.m文件中添加协议,而其他类(来自其他文件)则没有看到它.

例如.我有一个测试单元,它有一个文本字段.我想隐藏,这个单元格符合协议.像这样的东西:

class TestCell: UITableViewCell {

}

fileprivate extension TestCell : UITextFieldDelegate {

}
Run Code Online (Sandbox Code Playgroud)

但编译器发誓我.任何优雅的解决方

ios swift3

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

手动调用Drawrect

我正在创建一个带UIBezierPath绘图的自定义视图.我想根据服务器的响应状态更改时更新自定义视图填充颜色.我使用fillColor属性作为参数来更新视图的颜色.我怎样才能以fillcolor编程方式更改?

iphone objective-c uiview ios

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

从代码中获取Xcode项目目录

有谁知道如何从代码中获取相关的Xcode项目目录?我试图用pwd环境完成它,但它只适用于Build Phases> Run Script.

macos xcode swift

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