簡體   English   中英

iOS 7 UITableView:它是一個bug還是我?

[英]iOS 7 UITableView: is it a bug or is it me?

請參閱附圖。 在iOS 7的表格視圖中,UIKit在附件視圖和重新排序控件之間繪制一條細灰色垂直線。 但是,當滾動表視圖時,不會在某些單元格中繪制此行。 在附圖中的單元1,2和8中不存在。 為什么是這樣? 我該如何解決?

在此輸入圖像描述

我在iphone 6s plus上遇到了同樣的問題並解決了它將單元格textLabel的backgroundColor設置為clearColor

cell.textLabel.backgroundColor = [UIColor clearColor];

通過顯示我的問題向我展示了標簽的右邊框正在繪制這條垂直線。 在此輸入圖像描述

你可以試試這個

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;
{
    cell.backgroundColor=[UIColor clearColor];
    cell.backgroundView=nil;
}

這種方法可能會有所幫助,也可能是某些圖像或內容可能存在於您的單元格中。 或者您可以檢查使用像這個地方的單元格分配if(cell == nil)而不是if(1)和alloc cell eveytime

我有同樣的問題,並設法找到解決方法。 當表視圖處於編輯模式時,問題似乎發生,並且在表視圖處於非編輯模式時將排隊的單元格出列。 解決方法是在將單元格的編輯屬性出列后立即將其設置為NO。 在tableView中返回單元格后,表視圖將自動將此屬性設置為YES:cellForRowAtIndexPath:。

cell = [tableView dequeueReusableCellWithIdentifier:cellReuseIdentifier forIndexPath:indexPath];
cell.editing = NO;

這適用於Swift 2.1。 在iOS 9.2.1上。 在XCode 7.2中:我在iPhone 6s上測試了代碼,而在4“設備上則沒有出現分隔符。

我已經創建了UITableViewCell的子類

required init(coder aDecoder: NSCoder)我做了這個:

required init(coder aDecoder: NSCoder)
{
    super.init(coder: aDecoder)!
    self.textLabel?.backgroundColor = UIColor.clearColor()
}

您可能會發現需要在override func drawRect(rect: CGRect) {}設置背景顏色,因為此解決方案僅適用於“接口”構建器創建的單元格。

該解決方案適用於開發和模擬器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM