gpt4 book ai didi

ios - 将 CGRect 表达式分配给 CGFloat - Swift

转载 作者:行者123 更新时间:2023-11-28 10:26:01 27 4
gpt4 key购买 nike

我希望为以下属性分配一些值,但是我遇到了一个非常复杂的错误,我一直在找回错误。

override func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]! {
var padding:CGFloat = 100.0
rect.size.height = 3 <=1
rect.origin.y -= padding <=2
return self.animator.itemsInRect(rect)
}

1 = Cannot assign to the result of this expression

2 = Cannot invoke '-=' with an argument list of type '(CGFloat, @value CGFloat)'

我试过用 CGFloat 包装属性,例如然而运气不好

rect.size.height += CGFloat(3*padding); 

这是一个运行良好的 Objective -C 版本:

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
CGFloat padding = 100.0;
rect.size.height += 3*padding;
rect.origin.y -= padding;
return [_animator itemsInRect:rect];
}

我怎样才能在没有错误的情况下快速验证这段代码?

最佳答案

var 添加到您的 rect 声明中。目前是只读的:

override func layoutAttributesForElementsInRect(var rect: CGRect) -> [AnyObject]! {

你也可以只创建你想要的矩形:

override func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]! {
let padding:CGFloat = 100.0
return self.animator.itemsinRect(CGRectMake(rect.origin.x,
rect.origin.y - padding,
rect.size.width,
rect.size.height + 3 * padding))
}

关于ios - 将 CGRect 表达式分配给 CGFloat - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25550869/

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