Когда я устанавливаю точку привязки, мое изображение не загружается

#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)];