2

我一直在摆弄新的 Xcode 5 GM 和 UIDynamics,以在 iPhone 仪表板上创建类似于新的“气泡”壁纸的效果。

我想要基本相同的东西。某些图像作为子视图添加到自定义 UIView 中,并作为 UIDynamicItem 添加到 UIGravityBehavior 到 UIDynamicAnimator。但它似乎仍然没有真正起作用。

主视图控制器

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            self.image = [[MYImageView alloc] initWithFrame:CGRectMake(70, 200, 200, 200)];
            [self.view addSubview:self.image];
            UIDynamicAnimator *dynamicAnimator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
            UIGravityBehavior *gravity = [[UIGravityBehavior alloc] init];
            [dynamicAnimator addBehavior:gravity];
            [gravity addItem:self.image];
            self.view.alpha = 0.5f;
        }
        return self;
    }

MYImageView.h

    @interface NoteView : UIView <UIDynamicItem>

    @property(nonatomic, readonly) CGRect bounds;
    @property(nonatomic, readwrite) CGPoint center;
    @property(nonatomic, readwrite) CGAffineTransform transform;

在 .m 中,我只是创建一个 ImageView 并将其作为子视图添加到 self 中。self 的边界将返回为添加的 imageView 大小的两倍。

我没有收到任何错误,并且应用程序显示正常,但我没有得到任何重力反应。

谢谢您的帮助!奔驰

4

1 回答 1

4

看看我的 github 项目,展示如何在 iOS 7 中使用 UIDynamic 功能:我希望它有所帮助;)

https://github.com/debris/AIMballoon

于 2013-09-15T09:46:38.080 回答