【问题标题】:iOS: iCarousel delegate method not called when first loadiOS:首次加载时未调用 iCarousel 委托方法
【发布时间】:2016-10-27 16:42:55
【问题描述】:

我已经实现了 iCarousel 和以下委托。

- (void)carouselCurrentItemIndexDidChange:(iCarousel *)carousel

当我滚动时,这个代理会正确调用,但是当我第一次在索引 0 处加载轮播时没有被调用。这是因为默认情况下,Icarosuel 默认索引为 0。

我唯一的解决方法是在索引为 0 时调用委托方法,就像这样。

  if (index == 0) {
        [self carouselCurrentItemIndexDidChange:self.carousel];
    }

我需要调用委托方法,因为我在这里更改了很多不属于轮播视图的内容。所以我可以使用任何数据源。

【问题讨论】:

  • 不确定正在使用的轮播库,但一种想法是在委托初始化后自己调用它。
  • 将这些“少数东西”分离到一个单独的方法中,并在首次加载轮播之前调用它。

标签: ios objective-c delegates icarousel


【解决方案1】:
@IBOutlet weak var objCarosel: iCarousel!

override func viewDidLoad()
{    
   super.viewDidLoad()
   //Set delegate and datasource help to call predefine methods.   
   objCarosel.delegate = self      
   objCarosel.dataSource = self    
   objCarosel.reloadData()    
}

【讨论】:

    猜你喜欢
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    相关资源
    最近更新 更多