2013-07-19 64 views
0

我正在嘗試創建一個可以保存用戶消息字符串的應用程序,並且我在UIView中顯示該消息,該消息將在UIScrollView之內。現在,一旦創建了這些視圖,它們就會有一個與之關聯的消息ID。假設我點擊一個包含消息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"]; 
     } 
    } 
} 
} 

由於我必須滾動視圖內的多個子視圖(取決於消息的數量),我想開始在該視圖消息的具體位置(不加載唯一特定消息ALONE)

我可以使用[self.scrollView viewWithTag:messageId]來做到嗎?

回答

0

這樣做。只需點擊鏈接查找 消息ID在陣列中的位置以及使用消息ID 就可以獲得一個陣列,其中的所有消息ID都是 的順序與scrollview子視圖(顯示滾動視圖上的消息順序)的順序相同將contentOffset值設置爲滾動視圖。

相關問題