swift UI数组创建BUTTON

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift UI数组创建BUTTON相关的知识,希望对你有一定的参考价值。

前面嵌套FOR 循环
button.frame=CGRectMake(50,50,view.frame.size.width/4,view.frame.size.height/5 )

前面的不能传参数

button.frame=CGRectMake(x,y,view.frame.size.width/4,view.frame.size.height/5 )
如果这样传参会报错 错误显示 cannot convert value of type ''int to expected argument type 'CGFloat'
我弄个Float 的参数还是会报错
给我的感觉是只能写常量不能去参数
如何解决

参考技术A 50是Int,不是CGFloat,需要转换。
如CGFloat(50),

xxx/4和xxx/4.0返回值的类型是不一样的,前者是Int,后者是CGFloat追问

不行啊都试过

本回答被提问者和网友采纳

为啥 Button SubView 不会在 swift 4 中回到后面?

【中文标题】为啥 Button SubView 不会在 swift 4 中回到后面?【英文标题】:why Button SubView will not go to the back in swift 4?为什么 Button SubView 不会在 swift 4 中回到后面? 【发布时间】:2019-01-07 11:36:30 【问题描述】:

我有一个带有 xib 文件的视图类,所以我想在按钮的背景上使用这个视图,所以我使用了子视图,但问题是按钮的子视图将在按钮的前面,所以我不能点击按钮不再我使用 UI 调试模式,我意识到按钮在视图的后面,所以我在我的代码中使用 send to back 但视图仍然在按钮的前面!

 let adsView = videoAdsView()
func adsOutlet() 
    self.adsView.frame = CGRect(x: 0, y: 0, width: 80, height: 80)
    self.showAdsOutlet.addSubview(adsView)
    self.showAdsOutlet.sendSubview(toBack: self.adsView)


override func viewDidLayoutSubviews() 
    super.viewDidLayoutSubviews()
    adsOutlet()

【问题讨论】:

showAdsOutlet 是你的按钮的变量,adsView 是你想要在按钮后面的背景视图吗? 是的 showAdsOutlet 是我的按钮,adsView 是我的视图,应该在按钮的后面 【参考方案1】:

将以下代码放在 adsOutlet 方法的末尾:

self.adsView.isUserInteractionEnabled = false

【讨论】:

【参考方案2】:

如果您想将按钮添加为背景视图的子视图,那么您可以这样做,您的按钮将位于背景前面:

self.backgroundView.addSubview(adsButton)

如果您不想将adsButton 作为backgroundView 的子视图,但您想确保它出现在backgroundView 的前面,那么假设两者都是父view 的子视图,请执行以下操作:

self.view.sendSubview(toFront:adsButton)

【讨论】:

抱歉,我误解了您在设置背景视图前的按钮时遇到问题,但真正的问题是您无法与之交互。 没问题但是mohammad_Z74的回答解决了我的问题【参考方案3】:

请试试这个代码:

清除按钮background color。 然后写这段代码:

self.view.bringSubview(toFront: showAdsOutlet)

它可能对你有帮助。谢谢

【讨论】:

以上是关于swift UI数组创建BUTTON的主要内容,如果未能解决你的问题,请参考以下文章

Swift UI:使用数组中的随机元素更新视图

如何在给定 15 秒间隔内捕获的坐标数组的情况下绘制和更新形状(SWIFT UI)

使用 swift 通过 UI 按钮创建对象实例

Swift - UI 按钮阴影渐变

使用Swift开发iOS项目UI创建方法调用

ionic跳转