如何在iOS中复制iBook主屏幕?

时间:2011-05-15 04:03:16

标签: iphone ipad ibooks

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

你可以使用带有UIImageViews的NSMutableArray的UIScrollView,这样,当你删除/添加一本书时,你从数组中删除/添加它,然后通过观察者进行更改,你可以用动画重新排列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];