首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift 4函数按钮属性

Swift 4函数按钮属性
EN

Stack Overflow用户
提问于 2017-08-20 23:24:50
回答 2查看 598关注 0票数 0

我对Swift非常陌生。我正在尝试创建func

代码语言:javascript
复制
func roundedButton(buttonik: String) {       
    buttonik.clipsToBounds = true
    buttonik.layer.cornerRadius = 10
    buttonik.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]
}

那就叫它

代码语言:javascript
复制
roundedButton(buttonik: "buttonTop")

并输出以下内容

代码语言:javascript
复制
buttonTop.clipsToBounds = true
buttonTop.layer.cornerRadius = 10
buttonTop.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]

我得到了这些错误

代码语言:javascript
复制
Value of type 'String' has no member 'clipsToBounds'
Value of type 'String' has no member 'layer'

谢谢您:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-20 23:41:01

我认为问题在于您混淆了按钮的名称和表示该按钮的对象。将您的例程更改为:

代码语言:javascript
复制
func roundedButton(button: UIButton) {       
    button.clipsToBounds = true
    button.layer.cornerRadius = 10
    button.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner, .layerMaxXMaxYCorner]
}

然后通过传递要应用这些属性的按钮来调用它...而不是传递给它一个字符串。

票数 0
EN

Stack Overflow用户

发布于 2017-08-20 23:38:22

看起来您期望您的buttonik参数是一个UIButton,但您却将其声明为String。由于String不支持您试图修改的属性,因此会出现编译错误。如果将其声明为UIButton,则代码应该会进行编译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45783776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档