1

我需要创建一个 iBook 主屏幕,以允许用户从封面视图布局中选择书籍。

我正在考虑使用垂直 UIScrollView 布局来放置 UIImageView 对象。这是一个好方法吗?

另一个大问题是:当用户删除一本书并从屏幕上移除一个 UIImageView 对象时,如何使剩余的 UIImageView 对象重新组织并随着动画移动?

使用最新的书单重新绘制 UIScrollView 是可以接受的,但是,将没有动画来显示 UIImageview 对象的移动和移动?

有什么好主意来解决问题吗?

4

1 回答 1

1

您可以拥有一个带有 NSMutableArray 的 UIScrollView,其中包含 UIImageViews,因此,当您删除/添加一本书时,您可以从数组中删除/添加它,然后使用观察者进行更改,您可以根据需要重新安排带有动画的 uiimagesviews。

例子:

-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
  if  (object == self && [keyPath isEqualToString:@"ArrayofBooks"]) {
     //Do animations here as needed
  }
}

-(id)init {
  //...Previous init
  ArrayofBooks = [[NSMutableArray alloc] init];
  [self addObserver:self forKeyPath:@"ArrayofBooks" options:0 context:NULL];
  //...other init needed
}

这应该在你的 UIScrollView 上进行它所做的是注册一个 Mutable 数组并为它的更改设置一个观察者,然后第一个方法由观察者调用,你做你的事情。

编辑:重要!,当您添加/删除一个对象时,您必须按照以下方式进行操作,否则观察者将看不到它

[[self mutableArrayValueForKey:@"ArrayofBooks"] addObject:newBook];

[[self mutableArrayValueForKey:@"ArrayofBooks"] removeObject:newBook];
于 2011-05-15T04:08:33.337 回答