小编use*_*732的帖子

UITextField文本跳转

我有ViewController2个UITextField元素:登录和密码.我为这些字段设置了委托,其中包括以下代码:

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField === self.loginField {
        self.loginField.resignFirstResponder()
        self.passwordField.becomeFirstResponder()
        return false
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

当他按下键盘上的"下一步"按钮时,此逻辑应将用户从登录文本字段切换为密码.但是我坚持了一个小故障:之后

self.passwordField.becomeFirstResponder()
Run Code Online (Sandbox Code Playgroud)

登录字段中的文本跳转到左上角和后退.而且更奇怪的是:这个故障只是第一次再现,然后你需要重新创建ViewController才能观察到这种行为

这是故障的视频http://tinypic.com/player.php?v=6nsemw%3E&s=8#.VgVb3cuqpHx

我最终得到了这个:

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField === self.loginField {
        self.loginField.resignFirstResponder()
        // Shitty workaround. Hi, Apple!
        self.loginField.setNeedsLayout()
        self.loginField.layoutIfNeeded()

        self.passwordField.becomeFirstResponder()
        return false
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

uitextfield ios swift

47
推荐指数
6
解决办法
8586
查看次数

带有`(反引号)的Swift变量名

我正在浏览Alamofire源代码,并发现变量的哪个名称在此源文件中被反引号转义

open static let `default`: SessionManager = {
    let configuration = URLSessionConfiguration.default
    configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders

    return SessionManager(configuration: configuration)
}()
Run Code Online (Sandbox Code Playgroud)

但是在使用变量的地方没有反引号.反叛的目的是什么?

swift alamofire

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

未知的CMake命令"ExternalProject_Add"

我有以下CMakeLists.txt文件:

cmake_minimum_required (VERSION 3.2 FATAL_ERROR)

project (utils VERSION 1.0.0 LANGUAGES CXX)

ExternalProject_Add(json-c
    GIT_REPOSITORY "https://github.com/json-c/json-c.git"
    UPDATE_COMMAND git pull "https://github.com/json-c/json-c.git"

    CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image/./configure
                      --prefix=${SDL_INSTALL_DIR}

    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/json-c

    INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
    )
Run Code Online (Sandbox Code Playgroud)

我想将json-c库添加到我的项目中,但是当我运行cmake时,我收到错误:未知的CMake命令"ExternalProject_Add".我的CMake版本在OS X上是3.6.2

cmake external-project

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

UITextField文本跳转iOS 9

上一个问题的链接: UITextField文本跳转

简而言之:我有ViewController2个UITextField元素.当loginField是firstResponder之后

self.passwordField.becomeFirstResponder()
Run Code Online (Sandbox Code Playgroud)

登录字段中的文本跳转到左上角和后退.而且更奇怪的是:这个故障只是第一次再现,然后你需要重新创建ViewController才能观察到这种行为

这是故障的视频http://tinypic.com/player.php?v=6nsemw%3E&s=8#.VgVb3cuqpHx

我最终得到了这个(不适用于iOS 9):

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField === self.loginField {
        self.loginField.resignFirstResponder()
        // Shitty workaround. Hi, Apple!
        self.loginField.setNeedsLayout()
        self.loginField.layoutIfNeeded()

        self.passwordField.becomeFirstResponder()
        return false
    }

    return true
}
Run Code Online (Sandbox Code Playgroud)

是否有人被这个错误所困扰?有什么建议?

键盘通知处理程序

我的主视图是UIScrollView,我将底部空间更改为superview,因此即使显示键盘,用户也可以滚动所有内容

func keyboardWillShow(notification : NSNotification) {
    let keyboardInfo = notification.userInfo!
    let keyboardFrame = keyboardInfo[UIKeyboardFrameEndUserInfoKey]!.CGRectValue
    let animDuration = keyboardInfo[UIKeyboardAnimationDurationUserInfoKey]!.doubleValue!

    UIView.animateWithDuration(animDuration, animations: {
        self.scrollViewBottom.constant = keyboardFrame.height
        self.view.layoutIfNeeded()

        let offsetY = CGRectGetMaxY(self.loginButton.frame) + 10 - self.scrollView.frame.height
        if offsetY > 0 …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift ios9 swift2

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

@testable 导入和桥接标头不能同时工作

我的框架项目有测试目标,其中包括:

  1. Obj-C 测试
  2. 使用 @testable import 进行 Swift 测试以测试内部类和函数
  3. 一些用 Obj-C 编写的用于我的测试的实用程序,应该在 1) 和 2) 中使用

由于我想使用 Obj-C utils,我应该将桥接标头添加到我的测试目标中,以便从 swift 源进行访问。问题是 @testable import 不能同时与桥接标头一起工作:只要我不使用桥接标头,我就可以从我的 swift 测试源访问所有内部 API,但是当我添加桥接标头时,我只能访问公共API。

有人经历过吗?@testable 指令是否使用桥接标头实现,这使得同时使用两者变得不可能?关于如何解决问题的想法?

更新:显然,当您在 swift 代码中导入与 @testalbe 相同的框架并在桥接标头中的 Obj-C 中使用 @import (直接或在包含的标头之一中)时,显然会出现问题。我可以管理我的代码以避免同时从桥接标头和 swift 导入框架,尽管一般问题没有解决

objective-c ios swift bridging-header

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

从检查点恢复 Apache Flink 作业

我正在使用 Apache Flink + RabbitMQ 堆栈。我知道有机会手动触发保存点并从中恢复作业,但问题是 Flink 在成功检查点后确认消息,如果您想创建保存点和恢复状态,您将丢失上次成功保存点和上次成功检查点之间的所有数据. 有没有办法从检查点恢复工作?这将解决在不可重播数据源(如rabbitmq)的情况下丢失数据的问题。顺便说一句,如果我们有检查点及其所有开销,为什么不让用户使用它们?

rabbitmq apache-flink flink-streaming

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

Objective-C中的Swift枚举关联值

  1. 有没有办法在Objective-C中使用具有相关值的新Swift3枚举?
  2. 有没有办法在Objective-C中声明/桥接具有相关值的Swift3枚举,如果我开发一个库并想给Swift3用户提供方便的API?

enums objective-c swift swift3

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