我一直在摆弄新的 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 大小的两倍。
我没有收到任何错误,并且应用程序显示正常,但我没有得到任何重力反应。
谢谢您的帮助!奔驰