carousel viewForItemAtIndex我正在使用reuse view这样的东西 -

 -(UIView *)carousel:(iCarousel *)carousel viewForItemAtIndex:(NSUInteger)index reusingView:(UIView *)view{

if (!view){

   UIViewController * viewController = [self.storyboard  instantiateViewControllerWithIdentifier:@"PopUpView"];
   view = [viewController.view viewWithTag:1];
   CGRect  Frame = CGRectMake(view.frame.origin.x+300, view.frame.origin.y, view.frame.size.width+300, view.frame.size.height-350);
   view.frame = Frame;
}

这是一个好方法吗?

===============>>#1 票数:5 已采纳

我会说这不是一个好方法。 你在这里创建一个视图控制器只是为了立即抛弃它,这是毫无意义的。

如果您只需要视图,则可以直接从nib文件加载它而无需视图控制器。 您可以将其操作绑定到轮播的主视图控制器(在库中包含的ControlsExample项目中有此示例),或创建自定义视图类并将子视图出口绑定到视图本身。

如果你想为每个轮播项目视图使用视图控制器(我不推荐,因为这不是用于UITableView或UICollectionView的惯例,iCarousel是建模的),那么你应该将视图控制器添加为子视图主旋转木马控制器的控制器,但这是繁琐的,因为没有明显的地方可以在其视图离屏时再次移除子控制器)。

===============>>#2 票数:1

根据方法,使用视图控制器的视图没有任何问题。 UIView是你处理它的样子,UIViewController是你处理事件的类。 如果你想处理任何事件,那么使用UIViewController的View是一个更好的选择。

  ask by Saheb Singh translate from so

未解决问题?本站智能推荐: