Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在iPad中更改视图中控件的大小?_Ios_Swift - Fatal编程技术网

Ios 如何在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

我正试图改变iPad弧形层线宽的大小,如下所示,但它不起作用

  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,这有助于使它变得更好