Поведение вложения iOS UIDynamics, показывающее линию
Это способ настроить UIDynamicBehaviors, чтобы показать "линию", которая присоединяет два UIView, используя поведение вложения UIDynamics?
1 ответ
Решение
Взгляните на DynamicsCatalog, который вы можете найти на веб-сайте Apple для разработчиков. Вы увидите пунктирную линию, которая будет нарисована внутри класса APLDecorationView. UIAttachmentBehavior
просто отвечает за обработку вложения между указанными элементами, не рисуя никаких соединений.
- Так что если вы хотите использовать его внутри своего проекта, вставьте
APLDecorationView.h
внутри вашего файла. Когда ваш
UIViews
где веревка должна быть добавлена, инициализирована, используйте следующий метод:trackAndDrawAttachmentFromView:toView:withAttachmentOffset:
- Настройте внутри метода
UIImage
который должен отображаться и, возможно, размер.
В моем случае это выглядело так:
[(APLDecorationView *)self trackAndDrawAttachmentFromView:self.viewOne
toView:self.viewTwo
withAttachmentOffset:CGPointZero];
И это модификация моего APDecorationView
:
NSInteger iRopeElements = ( isiPad ) ? 15 : 20;
for (NSUInteger i=0; i < iRopeElements; i++)
{
UIImage *ropeElement = [UIImage imageNamed:@"rope_element"];
CALayer *layerRope = [CALayer layer];
layerRope.contents = (__bridge id)(ropeElement.CGImage);
CGFloat fRopeWidth = attachedView.frame.size.width * 0.3f;
layerRope.bounds = CGRectMake(0, 0, fRopeWidth, fRopeWidth / 1.64f);
layerRope.anchorPoint = CGPointMake(0.5, 0);
[self.layer insertSublayer:layerRope atIndex:0];
[self.attachmentDecorationLayers addObject:layerRope];
}