gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:34 25 4
gpt4 key购买 nike

这是我的RectangleView:

import UIKit

class RectangleView: UIView
{
init(frame: CGRect)
{
// Initialization code
super.init(frame: frame)
}

/*
override func drawRect(rect: CGRect)
{
// Drawing code
}
*/
}

我在我的 CustomViewController 上添加了这个 RectangleView:

import UIKit

class 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 上定义这个 center 吗?我的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!.xnsnumber ,所以我怎么能转换为 CGPointMake 接受类型?我已经转换 UInt8(self.pos!.x) 并将计算结果转换为 CGPointMake 再次接受类型?

还有什么好的方法吗?感谢您的帮助。

最佳答案

! 返回的值 - 展开一个可选值目前是不可变的(参见 Lattner's explanation )。

尝试:

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

我认为这可以被认为是 Swift 中的一个已知错误。

关于ios - swift uiview 没有名为 center 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com