ios – swift uiview没有名为center的成员

ios – swift uiview没有名为center的成员,第1张

概述这是我的RectangleView: import UIKitclass RectangleView: UIView{ init(frame: CGRect) { // Initialization code super.init(frame: frame) } /* override func drawRect(re 这是我的RectangleVIEw:

import UIKitclass RectangleVIEw: UIVIEw{    init(frame: CGRect)    {        // Initialization code        super.init(frame: frame)    }    /*    overrIDe func drawRect(rect: CGRect)    {        // Drawing code    }    */}

我在CustomVIEwController上添加了这个RectangleVIEw:

import UIKitclass CustomVIEwController: UIVIEwController{    var ballX:Int = 0    var ballY:Int = 0    let BALLWIDTH:Int = 50    let BALLHEIGHT:Int = 50    var navigationHeight:Double = 0.0    var pos:CGPoint?    var rectangleVIEw:RectangleVIEw?    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        // Do any additional setup after loading the vIEw,typically from a nib.        self.ballX = Int(arc4random_uniform(320));        self.ballY = Int(arc4random_uniform(480));        self.navigationHeight = Double(self.navigationController.navigationbar.frame.size.height)        var rect = CGRect(x: 0,y: 0,wIDth: self.BALLWIDTH,height: self.BALLHEIGHT)        self.pos = CGPoint(x: self.ballX,y: self.ballY);        println("x: \(self.ballX),y: \(self.ballY)")        self.rectangleVIEw = RectangleVIEw(frame: rect)        self.rectangleVIEw!.backgroundcolor = UIcolor.redcolor()        self.vIEw.addSubvIEw(self.rectangleVIEw!)        NSTimer.scheduledTimerWithTimeInterval(0.05,target: self,selector: Selector("moveBall"),userInfo: nil,repeats: true)    }    func moveBall()    {        self.rectangleVIEw!.center = CGPointMake(self.rectangleVIEw!.center + self.pos!.x,self.rectangleVIEw!.center + self.pos!.y)    }...

我收到一条错误消息

'RectangleVIEw?' does not have a member named 'center'

我应该在RectangleVIEw上定义这个中心吗?我的RectangleVIEw继承自UIVIEw,所以我感到非常困惑.谢谢你的帮助.

编辑

我用这个代码

func moveBall(){    if let rv = self.rectangleVIEw {        rv.center = CGPointMake(rv.center + self.pos!.x,rv.center + self.pos!.y)    }

我收到了新的错误消息

'CGPoint' is not convertible to 'UInt8'

我认为rv.center类型是UInt8,但self.post!.x是nsnumber,所以我怎么能转换为CGPointMake接受类型?我已经转换了UInt8(self.pos!.x)并将计算结果再次转换为CGPointMake接受类型?

还有其他最好的方法吗?谢谢你的帮助.

解决方法 由!-unwrapPing可选项返回的值当前是不可变的(参见 Lattner’s explanation).

尝试:

if let rv = self.rectangleVIEw {  rv.center = ...}

我认为这可以被认为是Swift中的已知错误.

总结

以上是内存溢出为你收集整理的ios – swift uiview没有名为center的成员全部内容,希望文章能够帮你解决ios – swift uiview没有名为center的成员所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1057918.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存