Ios 如何在iPad中更改视图中控件的大小?
我正试图改变iPad弧形层线宽的大小,如下所示,但它不起作用Ios 如何在iPad中更改视图中控件的大小?,ios,swift,Ios,Swift,我正试图改变iPad弧形层线宽的大小,如下所示,但它不起作用 func setup() { let model = UIDevice.current.model if model == "iPad" { backgroundArcLayer.lineWidth = 36.0 backgroundArcLayer.fillColor = nil backgroundArcLayer.s
func setup() {
let model = UIDevice.current.model
if model == "iPad" {
backgroundArcLayer.lineWidth = 36.0
backgroundArcLayer.fillColor = nil
backgroundArcLayer.strokeEnd = 2
layer.addSublayer(backgroundArcLayer)
frontArcLayer.lineWidth = 36.0
frontArcLayer.fillColor = nil
frontArcLayer.strokeEnd = 1.0
layer.addSublayer(frontArcLayer)
}
backgroundArcLayer.lineWidth = 18.0
backgroundArcLayer.fillColor = nil
backgroundArcLayer.strokeEnd = 1
layer.addSublayer(backgroundArcLayer)
frontArcLayer.lineWidth = 18.0
frontArcLayer.fillColor = nil
frontArcLayer.strokeEnd = 0.5
layer.addSublayer(frontArcLayer)
}
我遗漏了什么?好吧,你正在覆盖你在
if
语句中设置的所有属性,因为你没有在else
正文中包含你的方法的其余部分。你声明iPhone和iPad可以全局访问你项目中的任何地方。然后试着这样做:
let IsIPhone = UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.phone
let IsIPad = UIDevice.current.userInterfaceIdiom == UIUserInterfaceIdiom.pad
您可以通过以下方式查看iPhone和iPad:
func setup() {
if IsIPad{
backgroundArcLayer.lineWidth = 36.0
backgroundArcLayer.fillColor = nil
backgroundArcLayer.strokeEnd = 2
layer.addSublayer(backgroundArcLayer)
frontArcLayer.lineWidth = 36.0
frontArcLayer.fillColor = nil
frontArcLayer.strokeEnd = 1.0
layer.addSublayer(frontArcLayer)
}else{
backgroundArcLayer.lineWidth = 18.0
backgroundArcLayer.fillColor = nil
backgroundArcLayer.strokeEnd = 1
layer.addSublayer(backgroundArcLayer)
frontArcLayer.lineWidth = 18.0
frontArcLayer.fillColor = nil
frontArcLayer.strokeEnd = 0.5
layer.addSublayer(frontArcLayer)
}
}
它有助于检查iPad和iPhone。永远不要根据型号做任何事情。根据视图的大小进行所有调整。这些控件位于视图内部,是通过编程方式创建的,那么我该怎么做呢?这样一个基本错误:(我还想添加,选中“model=iPad”真的不太好。苹果可能会在将来更改该属性,而您的代码会中断。@GeneCode,那么我该怎么办。请您提供一个示例,因为其中的控件是通过编程创建的。这样更好:[UIDevice currentDevice]。userInterfaceIdiom==UIUserInterfaceIdiomPad@GeneCode,这有助于使它变得更好