0

我正在尝试创建一个可以保存来自用户的消息字符串的应用程序,并且我正在将这些消息显示在UIView将进入UIScrollView. 现在,一旦创建了这些视图,它们就会有一个与之关联的消息 ID。假设我点击一个包含消息 ID 的链接,我希望应用程序在找到消息视图时将我重定向到滚动视图中的特定位置。有人知道这样做吗?

顺便说一句,我使用此代码将消息 ID 分配给视图:

- (void) getMessageId:(UIScrollView*) scrollView{
CGPoint point = CGPointMake( scrollView.contentOffset.x + 40, 20);
for ( UIView* childView in scrollView.subviews ) {
    if ( [childView isKindOfClass:[UIView class]] ) {
        if(CGRectContainsPoint([childView frame], point)) {
            [[NSUserDefaults standardUserDefaults] setObject:[NSString stringWithFormat:@"%i" , childView.tag] forKey:@"current_message"];
        }
    }
}
}

由于我在滚动视图中有多个子视图(取决于消息的数量),我想在消息的特定位置启动视图(而不是单独加载唯一的特定消息)

我可以这样做[self.scrollView viewWithTag:messageId]吗?

4

1 回答 1

0

这样做。取一个包含所有消息 ID 的数组,这些消息 ID 与滚动视图子视图的顺序相同(在滚动视图上显示消息的顺序),每当单击链接时,查找消息 ID 在数组中的位置并使用消息 ID 可以设置 contentOffset 值到滚动视图。

于 2013-07-19T10:10:33.850 回答