iOS 引用一条消息回复后 ,如何点击这条引用回到原位置

fengyun137 3天前 31

定位到原文位置

最新回复 (5)
  • HeavyRain 3天前
    引用 2
    引用中应该有消息的uid,根据uid应该能找到消息的位置,滚动到这个位置就行了。有个特殊的情况是,如果这条消息没有加载出来,需要重新加载消息,加载这条消息之前和之后的消息,不显示最新的消息
  • HeavyRain 3天前
    引用 3
    UI都是开源的,你们在UI层处理就行
  • fengyun137 3天前
    引用 4
    long long messageUid = model.quotedMessage.messageUid;
        
        int index = 0;
        
        for (int i = 0;i < self.modelList.count; i++) {
            model = self.modelList[i];
            
            if (messageUid == model.message.messageUid) {
                index = i;
            }
        }
        
        NSIndexPath *finalIndexPath = [NSIndexPath indexPathForItem:index inSection:0];
        [self.collectionView scrollToItemAtIndexPath:finalIndexPath
                                            atScrollPosition:UICollectionViewScrollPositionCenteredVertically
                                            animated:true]; 这是我的定位代码 需要定位的消息在最上边 没有加载出来 后续该怎么操作  你说的需要重新加载消息,加载这条消息之前和之后的消息,不显示最新的消息 该调用哪些呢
  • HeavyRain 3天前
    引用 5
    这段代码不对,因为加载到内存中的消息条数是有限的,有可能被引用的消息是很早之前的,这个时候内存中的消息是找不到的。你思考一下当在self.modelList中找不到该怎么办,是不是需要按照2楼的方法来处理?接口SDK里都有,你们自己找一下就行
  • HeavyRain 3天前
    引用 6
    获取消息的接口有个起始位置,可以获取这个消息之前的,也可以获取这个消息之后的消息。用这个接口把前后的消息都获取到,然后展示出来
返回