[英]Tapping cell shows the view that is below
我正在創建帶有自定義單元格的表格視圖。
每個單元上都有三個按鈕。 我添加了一個視圖,該視圖應占據單元格的寬度和高度,並與三個按鈕重疊。 我用它來創建可滑動的單元格。
用作疊加層的視圖具有白色背景和不透明的,但是在模擬器上測試該應用程序時,我檢測到在輕觸單元格時會輕輕顯示按鈕,請看一下圖片。
我應該怎么做才能避免看到按鈕。 如果將疊加視圖設置為不透明,為什么現在會發生這種情況。 第二個問題是,在單元格上點擊時,左側的紅色橫條以及一個視圖消失了……
謝謝。
我相信這是UITableViewCell
的默認選擇樣式的結果。 讓我們嘗試刪除默認樣式並對其進行自定義。
嘗試設置(取決於您的實現):
cell.selectionStyle = UITableViewCellSelectionStyleNone;
在cellForRowAtIndexPath
內部或 self.selectionStyle = UITableViewCellSelectionStyleNone;
在單元格的自定義子類中或 然后,您可以在UITableViewCell的自定義類中實現自定義選擇樣式。 在初始化方法中,添加類似以下內容的內容:
self.selectedBackgroundView = [[UIView分配] initWithFrame:self.bounds]; self.selectedBackgroundView.backgroundColor = [UIColor lightGrayColor];
上面的答案將完全關閉突出顯示單元格的選擇,而這可能不是您想要的。
經過幾次測試后,似乎發生了什么事:選擇一個單元格后,iOS會將該單元格上所有視圖的背景色轉換為clearColor。
因此,解決方法是僅在選擇時將單元格視圖的顏色設置回正常:
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let cell = tableView.cellForRowAtIndexPath(tableView.indexPathForSelectedRow()!) as! MyCell
cell.MyViewOnMyCell.backgroundColor = UIColor.redColor()
}
有關其他答案,請參見此問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.