xcode 9中的IBananitable问题?

时间:2017-10-24 06:57:34

标签: ios swift xcode ios11 xcode9

我正在使用cocoapod for ibanimatable。我之前正在使用xcode并且工作正常。但是现在当我更新pod时它开始给我错误。

public extension PlaceholderDesignable where Self: UITextField {

  var placeholderText: String? { get { return "" } set {} }

  public func configurePlaceholderColor() {
    let text = placeholder ?? placeholderText
    if let placeholderColor = placeholderColor, let placeholder = text {
      attributedPlaceholder = NSAttributedString(string: placeholder, attributes: [.foregroundColor: placeholderColor])
    }
  }
}

下面的行给出了错误

 attributedPlaceholder = NSAttributedString(string: placeholder, attributes: [.foregroundColor: placeholderColor])

类型'String'没有成员'foregroundColor'

请告诉我如何摆脱这个问题?

1 个答案:

答案 0 :(得分:1)

根据CXX_STANDARD_REQUIRED,属性键未在String中声明,而是在NSAttributedStringKey中声明。这意味着你不能使用方便的"只需在那里放一个点,编译器就知道你的意思"句法糖。键是字符串,因此编译器认为您的意思是String.foregroundColor,但显然这样的事情不存在。

要解决此问题,请正确编写类型名称:

NSAttributedString(string: placeholder, attributes: [NSAttributedStringKey.foregroundColor: placeholderColor])