настройка для кадра - PullRequest
       4

настройка для кадра

0 голосов
/ 20 января 2012

Обычно, перед настройкой UILabel, мы должны инициализировать CGRect, как показано ниже

CGRect  frame       =   CGRectMake(277, 357, 10, 15);
UILabel *myLabel    =   [[UILabel alloc] initWithFrame:frame];

Если я не использую фрейм CGRect, есть ли какие-либо CGGeometry, такие как следующие CGEclipse

**CGEllipse**  frame       =   CGRectMake(277, 357, 10, 15);
UILabel *myLabel    =   [[UILabel alloc] initWithFrame:frame]; 

Пожалуйста, дайте мне несколько советов по этому вопросу.Спасибо

1 Ответ

1 голос
/ 20 января 2012

Нет, не все так просто. CGRect является структурой и не поддерживает наследование (например, CGEllipse, CGTriangle и т. Д.)

Однако вы можете сделать следующее:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.frame];
    imageView.image = [UIImage imageNamed:@"stack-overflow.jpg"];
    [self.view addSubview:imageView];

    CGMutablePathRef path = CGPathCreateMutable();
    CGPathAddEllipseInRect(path, NULL, imageView.bounds);

    CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] initWithLayer:imageView.layer];
    shapeLayer.path = path;
    [imageView.layer setMask:shapeLayer];
}

Если вы включите <QuartzCore/QuartzCore.h> в свой проект и сделаете ссылку на QuartzCore.framework.

Для получения дополнительной информации о CGMutablePathRef, проверьте здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...