我想要一些幫助,以正確地從滾動視圖中刪除子視圖,以減少內存使用量。每次用戶滾動時,我都會要求抓取頁面,頁面-1和頁面+ 1以獲取在滾動視圖中加載的視圖。刪除UIScrollView子視圖幫助
現在我的問題是,如果有十個並排的視圖,當您到達第十個視圖時,所有先前的9個視圖仍然是滾動視圖和內存中的子視圖。我想反轉加載這些視圖。這是我到目前爲止有:
- (void)loadScrollViewWithPage:(int)page {
if (page < 0) return;
if (page >= [self favouritesCount]) return;
// replace the placeholder if necessary
MyObject *myObj = (MyObj *)[fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForRow:page inSection:0]];
MyView *controller = [viewControllers objectAtIndex:page];
if ((NSNull *)controller == [NSNull null]) {
controller = [[MyView alloc] initWithObject:myObj];
controller.delegate = self;
[viewControllers replaceObjectAtIndex:page withObject:controller];
}
// add the controller's view to the scroll view
if (nil == controller.superview) {
CGRect frame = scrollView.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
controller.frame = frame;
[scrollView addSubview:controller];
}
}
現在我已經試過類似:
if (page > 2) {
[(UIView *)[[scrollView subviews] objectAtIndex:(page - 2)] removeFromSuperview];
}
但是,這只是崩潰了。這可能是一個簡單的解決方案,所以幫助表示讚賞:)
謝謝,請試試。 是的,我實際上並沒有將它命名爲MyView - 只是將名稱用於共享目的,因爲類名太誇張,項目在NDA下。 – runmad 2010-06-24 13:42:02
似乎沒有做這項工作?還有誰? – runmad 2010-06-24 14:40:47
嗡嗡聲,聽起來很奇怪。視圖有問題。我想我需要查看更多的代碼 – vodkhang 2010-06-24 15:15:54