代码之家  ›  专栏  ›  技术社区  ›  jonpeter

声明的方法必须返回void(不是float)

  •  1
  • jonpeter  · 技术社区  · 7 年前

    @IBOutlet weak var buttonValue: UIButton!
    @IBAction func smallB(_ sender: Any) -> Float {
    
        var inital = 2
        let divisble = 2
    
        var width: Float
        var height: Float
    
    
    
        if inital % divisble == 0
        {
            width = 0.14
            height = 0.07
            buttonValue.titleLabel?.text = "Big"
            inital + 1
        }
        else
        {
            width = 0.28
            height = 0.14
            buttonValue.titleLabel?.text = "Small"
            inital + 1
        }
    
        return width
        return height
    
    }
    
    2 回复  |  直到 7 年前
        1
  •  4
  •   Krunal    7 年前

    iAction功能可以由用户在任何UI元素(如按钮、开关、段控制器)上的交互调用。它的响应(返回类型)返回到用户界面元素,如果您使用iAction并将该操作附加到界面生成器,则可能无法在代码中获得浮点值

    从您的 IBAction

    @IBAction func smallB(_ sender: Any) {
       // action contents
    
       // also remove following return statements
       // return width
       //  return height
    }
    

    func smallBTest(_ sender: Any) -> CGSize {
       // action contents
    
      //Update your return statement like
      return CGSize(width: width, height: height)
    }
    
    let size: CGSize = smallBTest(<button instance > buttonValue)
    print("Size: Width = \(size.width)  -- Height = \(size.Height)")
    
    // or you can try this as well
    @IBAction func smallB(_ sender: Any) {
      let size: CGSize = smallBTest(sender)
       print("Size: Width = \(size.width)  -- Height = \(size.Height)")
    }
    
        2
  •  1
  •   Aditya Srivastava Bishow Gurung    7 年前

    @IBAction func smallB(_ sender: Any) {
     // your logic
    }
    

    并删除 return width return height .