gpt4 book ai didi

ios - @IBDesignable 不适用于 iOS swift 3

转载 作者:IT王子 更新时间:2023-10-29 05:19:18 25 4
gpt4 key购买 nike

我做了什么:删除派生数据,重新启动 xcode,Editor->Refresh all views

当我点击 Editor->Refresh all views 时, Storyboard中的 Designables 构建失败。

enter image description here

请检查以下代码。我错过了什么?当我从属性检查器更改 @IBInspectable 值时, Storyboard中的 Textfiled 未更新。

import UIKit
import QuartzCore

@IBDesignable
class BorderedFloatingTF: UITextField {


required init?(coder aDecoder:NSCoder) {
super.init(coder:aDecoder)
setup()
}

override init(frame:CGRect) {
super.init(frame:frame)
setup()
}

override func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: 20, dy: 0)
}

override func editingRect(forBounds bounds: CGRect) -> CGRect {
return textRect(forBounds: bounds)
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
setup()
}

// properties..

@IBInspectable var enableTitle : Bool = false
@IBInspectable var borderColor: UIColor = UIColor.white {
didSet {
layer.borderColor = borderColor.cgColor
}
}
@IBInspectable var borderWidth: Int = 1 {
didSet {
layer.borderWidth = CGFloat(borderWidth)
}
}
@IBInspectable var placeHolderColor: UIColor = UIColor.white {

didSet {
self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSForegroundColorAttributeName: placeHolderColor])
}
}

fileprivate func setup() {
borderStyle = UITextBorderStyle.none
layer.borderWidth = CGFloat(borderWidth)
layer.borderColor = borderColor.cgColor
placeHolderColor = UIColor.white
}
}

最佳答案

试试这个

![enter image description here

import QuartzCore

@IBDesignable
class BorderedFloatingTF: UITextField {


required init?(coder aDecoder:NSCoder) {
super.init(coder:aDecoder)
setup()
}

override init(frame:CGRect) {
super.init(frame:frame)
setup()
}

override func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.insetBy(dx: 20, dy: 0)
}

override func editingRect(forBounds bounds: CGRect) -> CGRect {
return textRect(forBounds: bounds)
}


// properties..

@IBInspectable var enableTitle : Bool = false
@IBInspectable var borderColor: UIColor = UIColor.white {
didSet {
layer.borderColor = borderColor.cgColor
}
}
@IBInspectable var borderWidth: Int = 1 {
didSet {
layer.borderWidth = CGFloat(borderWidth)
}
}
@IBInspectable var placeHolderColor: UIColor = UIColor.white {

didSet {
self.attributedPlaceholder = NSAttributedString(string:self.placeholder != nil ? self.placeholder! : "", attributes:[NSForegroundColorAttributeName: placeHolderColor])
}
}

func setup() {
borderStyle = UITextBorderStyle.none
layer.borderWidth = CGFloat(borderWidth)
layer.borderColor = borderColor.cgColor
placeHolderColor = UIColor.white
}
}

您的 IBDesignablesIBInspectables 都工作正常。

关于ios - @IBDesignable 不适用于 iOS swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44023888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com