Представления с метками вложены в View1 / View2 / View3 и, таким образом, обрезаются до границ тех, которые содержат представления.Чтобы заставить их перемещаться по внешнему виду, вам нужно либо запустить их в главном представлении, либо перед запуском анимации удалить их из содержащих представлений и добавить их во внешний вид.Вы также можете посмотреть, можно ли использовать свойство clipToBounds, чтобы визуализировать представления меток при их перемещении за пределы их содержащего представления.
Пример удаления и повторного добавления в содержащем представлении (при условии, чтоПредставление labelgreen находится внутри представления, называемого view2) (сделайте это до запуска анимации).
CGRect newframe = labelgreen.frame
newframe.origin.y = newframe + view2.frame.origin.y;
newframe.origin.x = newframe + view2.frame.origin.x;
[labelgreen removeFromSuperview];
labelgreen.frame = newframe;
Затем либо:
[colorview addSubview:labelgreen]; // (assuming colorview is your main containing view).
Или:
[self.view addSubview:labelgreen]; // if self.view is the main containing view