【发布时间】:2013-09-13 03:33:49
【问题描述】:
我一直在摆弄新的 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 大小的两倍。
我没有收到任何错误,应用程序也正常显示,但我没有收到任何重力反应。
感谢您的帮助! 奔驰
【问题讨论】:
标签: iphone objective-c uiview ios7 xcode5