我对Swift很新。我正在尝试创建func
func roundedButton(buttonik: String) {
buttonik.clipsToBounds = true
buttonik.layer.cornerRadius = 10
buttonik.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]
}
比叫它
roundedButton(buttonik: "buttonTop")
并拥有此输出
buttonTop.clipsToBounds = true
buttonTop.layer.cornerRadius = 10
buttonTop.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]
我收到这些错误
Value of type 'String' has no member 'clipsToBounds'
Value of type 'String' has no member 'layer'
谢谢:)
答案 0 :(得分:0)
看起来您希望buttonik
参数为UIButton
,但您将其声明为String
。由于String
不支持您尝试修改的属性,因此您将收到编译错误。如果您将其声明为UIButton
,则应编译代码。
答案 1 :(得分:0)
我认为问题在于您将按钮的名称与表示该按钮的对象混淆。将您的日常工作改为:
func roundedButton(button: UIButton) {
button.clipsToBounds = true
button.layer.cornerRadius = 10
button.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]
}
然后通过将要应用这些属性的按钮传递给...而不是传递一个字符串来调用它。