小编Art*_*nko的帖子

从storyboard/xib文件修改UIImage renderingMode

是否有可能修改UIImagerenderingMode从故事板或XIB编辑器?

目标是应用于tintColor特定UIImageView对象.

ios xcode-storyboard ios7

89
推荐指数
7
解决办法
5万
查看次数

如何在Xcode中加速UI测试用例?

Xcode 7开始,我们有一个很好的用于UI测试的API.大多数情况下我对它很满意.唯一的问题与速度有关.

在一开始,普通的UI测试用例(大约15个动作)运行大约25秒.然后我完全嘲笑网络.现在需要20秒.考虑到时间只取决于动画和启动时间(1秒甚至更短),我想,必须有办法加快速度.

objective-c ios xctest xcode7 uitest

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

使用Swift中的URLComponents对"+"进行编码

这是我如何将查询参数添加到基本URL:

let baseURL: URL = ...
let queryParams: [AnyHashable: Any] = ...
var components = URLComponents(url: baseURL, resolvingAgainstBaseURL: false)
components?.queryItems = queryParams.map { URLQueryItem(name: $0, value: "\($1)") }
let finalURL = components?.url
Run Code Online (Sandbox Code Playgroud)

当其中一个值包含+符号时,就会出现问题.由于某种原因,它没有编码到%2B最终的URL中,而是保留+.如果我自己编码并通过%2B,NSURL编码%并且'加'成为%252B.

问题是我怎么能%2B在实例中NSURL

PS我知道,我甚至不会有这样的问题,如果我构建的查询字符串自己,然后只需一个结果传递给NSURL的构造init?(string:).

nsurl ios swift swift3

13
推荐指数
3
解决办法
4138
查看次数

寻找9补丁图形创建工具

draw9patch似乎非常不方便.如果图像很大,则需要大约5分钟来绘制所有必需的纯黑线.很难相信来自Google的高度专业的开发人员已经创建了类似这个工具的东西.

还有更好的应用吗?或者我做错了什么?

android nine-patch

12
推荐指数
3
解决办法
2万
查看次数

当我设置该属性的属性时,为什么在属性上调用'didset'?

在此代码中,当文本发生更改时,titleEditingChanged会调用(如预期的那样).但是当它执行该行时

investment?.title = sender.text!
Run Code Online (Sandbox Code Playgroud)

它调用didset{}Investment.为什么?

class InvestmentCell: UITableViewCell {

    var investment: Investment? {
        didSet {
            // setup UI elements from class properties
            textField.text = investment?.title
            valueField.text = investment?.value?.description
        }
    }

    @IBAction func titleEditingChanged(sender: UITextField) {
        investment?.title = sender.text!
    }

    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var valueField: UITextField!
}
Run Code Online (Sandbox Code Playgroud)

ios swift

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

UIStackView分配同样填写

所以,我有一个UIStackView包含四(4)个UIView.如果我删除其中的一个(1)UIView,其他三个(3)将填充整个空间UIStackView.

我的问题:

如何在a上添加最大高度,UIView以便UIStackView即使分布均匀填充,它也不会填充整个空间?我读了一些关于添加约束的内容,但我无法使其工作.顺便说一下,我正在使用swift.

谢谢.

constraints ios autolayout swift uistackview

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

Xcode 8中的Interface Builder问题

我的故事板是在Xcode 7中创建的.安装Xcode 8之后,所有这些都经常搞砸了.当我打开其中一个时,Xcode会要求我选择一个设备(这是一个不错的新功能).但是它从不调整视图的帧,所以我必须按"全视图:更新帧"无限次.甚至这并不能解决所有"错位"的观点.

谁知道如何解决这个问题?或者唯一的选择是祈祷Apple在某些时候修复它?

更新1

每次打开IB时都会发生这种情况,即使我之前已经修复了帧.

更新2

当我的同事在他的计算机上修复相同的故事板时,更改仍然存在.不知道是什么让我的Xcode如此特别.

例

xcode interface-builder storyboard ios xcode8

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

如何在Swift 3中将数据转换为Int?

有很多来源解释如何在Swift 2中制作它作为基础:

var value: Int = 0
let data: NSData = ...;
data.getBytes(&value, length: sizeof(Int))
Run Code Online (Sandbox Code Playgroud)

然后我更新了Swift 3的语法/命名:

var value: Int = 0
let data: NSData = ...;
data.copyBytes(to: &value, count: MemoryLayout<Int>.size)
Run Code Online (Sandbox Code Playgroud)

然而它不起作用.编译器不喜欢它的类型value,它应该是UInt8.但我想要Int.谁知道我怎么能做到这一点?

ios swift swift2 swift3

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

如果 XCTestExpectation 是意外的怎么办

我正在用Swift编写一个XCTest单元测试。这个想法是在某种情况下不能调用回调。

所以我要做的是

func testThatCallbackIsNotFired() {

    let expectation = expectationWithDescription("A callback is fired")
    // configure an async operation

    asyncOperation.run() { (_) -> () in
        expectation.fulfill()    // if this happens, the test must fail
    }

    waitForExpectationsWithTimeout(1) { (error: NSError?) -> Void in

        // here I expect error to be not nil,
        // which would signalize that expectation is not fulfilled,
        // which is what I expect, because callback mustn't be called
        XCTAssert(error != nil, "A callback mustn't be …
Run Code Online (Sandbox Code Playgroud)

unit-testing xctest swift xctestexpectation

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

编译器无法将私有扩展中的方法识别为私有

我有以下一段代码:

class C {
    private enum E {
        // ...
    }
}

private extension C {
    func f(e: E) {    // error: Method must be declared private because its parameter uses a private type
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我使用错误方法private,编译器错误就会消失。我想知道这是 Swift 中的错误还是我没有得到什么?

swift

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

Objective-C是否有CF_SWIFT_NAME()的副本?

有没有办法修复Swift for Objective-C中实现的方法的名称?

一个Swift方法

static func convert(foo: Foo) -> Bar
Run Code Online (Sandbox Code Playgroud)

Objective-C成为

+ (Bar *)convertWithFoo:(Foo *)foo;
Run Code Online (Sandbox Code Playgroud)

所需的名字是

+ (Bar *)convertFoo:(Foo *)foo;    // without `With`
Run Code Online (Sandbox Code Playgroud)

从Objective-C到Swift我会使用CF_SWIFT_NAME()NS_SWIFT_NAME()宏.

objective-c swift

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

UITableView 滚动条随着用户滚动而改变大小

我有一个UITableView每个单元格的大小不同的地方(这取决于需要显示的内容量)。

结果(或者至少我认为是结果),当用户第一次开始滚动时,垂直滚动条最初很小。随着用户继续滚动,滚动条会增长,并在用户到达最后一个单元格时达到其正确长度。

有没有人对如何解决这个问题有任何想法(我使用的是 Swift 和 Xcode 7.1.1)?

scrollbar uitableview ios swift

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