在icarousel中使用ViewCntroller的视图是否合适?

时间:2014-04-21 06:08:30

标签: ios uiviewcontroller icarousel

<{1>} 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;
}

这是一个好方法吗?

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

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