#objective-c #ios #ipad #core-graphics
#objective-c #iOS #iPad #ядро-графика
Вопрос:
У меня есть UIView, в который я загружаю свое изображение в качестве дополнительного представления. Изображение отображается, когда я не устанавливаю точку привязки, но всякий раз, когда я устанавливаю точку привязки, изображение не отображается.Я также добавил работу с фреймом QuartzCore.
Я добавляю свой код ниже
CGRect apprect=CGRectMake(0, 0, 1024, 768);
UIView *containerView = [[UIView alloc] initWithFrame:apprect1];
containerView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:containerView];
handleView1= [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"large.gif"]];
[handleView1 setAlpha:1];
//[handleView1 setFrame:CGRectMake(390, 172.00, 56.00, 316.00)];
handleView1.userInteractionEnabled = YES;
handleView1.layer.anchorPoint=CGPointMake(490.0, 172.0);
[containerView addSubview:handleView1];
Ответ №1:
Проблема в значениях, которые вы используете для точки привязки. Вы не устанавливаете точки, подобные позиции фрейма, в качестве значений. Позвольте мне процитировать Apple:
Свойство anchorPoint — это CGPoint, которое определяет местоположение в пределах слоя, соответствующее координате положения. Точка привязки определяет, как границы располагаются относительно свойства position, а также служит точкой, вокруг которой применяются преобразования. Это выражается в единичной системе координат — значение (0.0,0.0) расположено ближе всего к началу слоя, а (1.0, 1.0) — в противоположном углу.
Взгляните на геометрию слоя и преобразования в руководстве по программированию Core Animation для получения более подробной информации.
Ответ №2:
Сначала установите рамку вашего ImageView, а затем установите точку привязки следующим образом
[ handleView1.layer setAnchorPoint:CGPointMake(1, 1)];