2

是否可以配置 UIDynamicBehaviors 以显示使用 UIDynamics 附件行为附加两个 UIView 的“线”?

4

1 回答 1

3

查看可在 Apple 开发者网站上找到的DynamicsCatalog 。您将看到将在APLDecorationView类中绘制的虚线。UIAttachmentBehavior只负责处理不绘制任何连接的指定元素之间的附件。

  1. 因此,如果您想在项目中使用它,请APLDecorationView.h 在文件中插入。
  2. 当您UIViews应该添加绳索的位置已初始化时,请使用以下方法:

    trackAndDrawAttachmentFromView:toView:withAttachmentOffset:
    
  3. 在方法内部自定义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];
    }
于 2014-08-04T14:43:10.040 回答