不能将self.size用于用Objective-C编写的UIView子类,而是导入到swift项目中吗?

时间:2014-06-15 00:26:43

标签: ios objective-c swift

现在我有一个StarView,它是UIView的子类。它在另一个项目中运行良好,但当我将它导入一个新的快速项目时,我收到了错误..." Property' size'没有在StarView'类型的对象上找到。

- (instancetype)initWithGalaxySize:(CGSize)galaxySize
                     colorMode:(GalaxyColorMode)colorMode
              andShouldFlicker:(BOOL)shouldFlicker
{
self = [super initWithGalaxySize:galaxySize
                       colorMode:colorMode
                andShouldFlicker:shouldFlicker];
if (self)
{
    // Size
    self.size = CGSizeMake(10.0f, 10.0f);

    // Scale
    CGFloat randomScale = floatInRange(0.4f, 0.8f);
    self.transform = CGAffineTransformMakeScale(randomScale, randomScale);

    // Rotation
    self.transform = CGAffineTransformRotate(self.transform, degreesToRadians(floatInRange(0.0f, 360.0f)));
}

return self;
}

知道为什么它不会让我打电话给self.size?我也得到了self.width和self.height相同的错误。

1 个答案:

答案 0 :(得分:2)

UIView使用self.frame.sizeself.bounds.size,具体取决于您想要的坐标空间。