[英]UITableView scrolling is choppy in iOS Simulator
這是一個視頻,在索引路徑中記錄行的單元格中的索引路徑:(請參閱下面的新鏈接)
所以,另一個奇怪的...在我的家iMac(全新),當我第一次在模擬器中運行Xcode項目時,它運行正常。 如果我然后退出模擬器和Xcode,然后再次打開Xcode並運行它 - (想想這是另一天再次開始在項目上工作) - 當我嘗試滾動任何uitableview時,模擬器重繪所有單元格(它似乎沒有正確出列和重用)。 我知道這是因為我正在繪制單元格時運行NSLog。
如果我在模擬器中重置設置然后再次運行它 - 它會順利滾動。 我已經嘗試完全卸載Xcode並重新安裝它無濟於事。 我正在使用Xcode 4.3.2。
現在,人們可能會認為這是代碼BUT,得到這個:我在辦公室有另一個(全新的iMac)。 我在Dropbox上有這個Xcode項目,因此兩個副本都是相同的(辦公室和家庭)。 在辦公室,我沒有這個奇怪的滾動問題......一切正常。
兩個mac(都是27英寸,有16GB RAM)之間的唯一區別是硬盤 - 辦公室mac有一個1tb 7200轉的驅動器。 我的家用mac有一個Apple的SSD。
我不知道是什么導致了這一點...這真的令人沮喪。 我並不反對擦我的家用Mac並重新開始,但這有點激烈。
思考? 我沒有發布代碼,因為在2台不同的計算機上運行相同的代碼會產生不同的結果,所以代碼似乎不是問題。
更新代碼 - 和視頻http://ge.tt/4ZuZ9mI/v/0
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"dateCell";
FEDateCell *cell = (FEDateCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"FEDateCell" owner:self options:nil];
cell = dateCell;
[cell setClipsToBounds:YES];
}
PFObject *eventObj = [self.itemsList objectAtIndex:indexPath.row];
//Get cell date from row
NSDate *currentDate = [eventObj objectForKey:@"startDate"];
cell.cellDate = currentDate;
cell.eventsArray = [NSArray arrayWithObject:eventObj];
[dateFormatter setDateFormat:@"dd"];
cell.dayNumber.text = [dateFormatter stringFromDate:cell.cellDate];
[dateFormatter setDateFormat:@"EEE"];
cell.dayName.text = [dateFormatter stringFromDate:cell.cellDate];
[cell updateCellData];
return cell;
}
經過深思熟慮后,我決定徹底擦拭iMac並進行全新安裝。
現在,雖然我只是執行了干凈安裝(實際上,它與重置iOS模擬器中的內容和設置相同) - 看起來問題已經消失。 現在,我不確定這是因為我剛剛執行了干凈安裝,但是我再次關閉並重新打開Xcode,重新啟動了幾次並且問題沒有返回。
真的很煩人,它是格式化系統並從頭開始,但無論如何。 至少它正在發揮作用。
如果事情按照您描述的方式發生,請考慮向Apple 報告錯誤。
嘗試安裝最新版本的顯卡驅動程序
我不認為這里有足夠的信息來確定問題所在。 我認為最好的方法是使用Xcode分析工具來追蹤問題所在。 另請查看圖形分析工具,以確定是否發生了過多的繪圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.