iOS:首次加载时未调用 iCarousel 委托方法

Posted

技术标签:

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

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

- (void)carouselCurrentItemIndexDidChange:(iCarousel *)carousel

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

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

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

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

【问题讨论】:

不确定正在使用的轮播库,但一种想法是在委托初始化后自己调用它。 将这些“少数东西”分离到一个单独的方法中,并在首次加载轮播之前调用它。 ***.com/a/41976632/5461400 【参考方案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()    

【讨论】:

以上是关于iOS:首次加载时未调用 iCarousel 委托方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 xmpp 框架时未调用委托方法

如何沿滚动动态加载带有项目的iOS iCarousel

应用程序:openURL:选项:从 Firebase 动态链接安装应用程序后首次打开应用程序时未调用

AdView 首次加载时未显示

PF QueryCollection ViewController 中首次加载时未出现图像

滚动时未调用 sizeForItemAt