2012-10-04 46 views
2

我寫了一個自定義GridView(UIScrollView子類),並決定使用標準UITableViewCells作爲單元格,因爲它們具有我需要的所有功能。是UITableViewCell的分隔符部分嗎?

一切工作正常,但我注意到,有時我有一個單元格頂部的細灰線。
我其實認爲UITableView處理單元格的分隔符,他們實際上不屬於UITableViewCell,但似乎是我錯了。

事實上,我想擺脫他們,但我不知道如何。

有沒有人有這方面的經驗,或者是唯一的方法來使自定義單元類與UITableViewCell的功能?

以下是截圖:
enter image description here

回答

1

經過一番實驗,嘗試&錯誤和子視圖迭代/檢查我可以告訴分隔符肯定是UITableViewCell的一部分。感謝@Valeriy Van。

回答我的第一個問題簡單說就是:,分隔符是一個UITableViewCell的 一部分。

但它嚴格由UITableView處理,如果不是由TableView填充,它是空的。


現在上述圖像中的線:

這些分隔符。他們看起來就像那樣,真是巧合。

當圖形嘗試在子像素精確座標處繪製某些東西時,會發生這種情況。
當可見對象(視圖的圖層)的座標和/或大小(框架)位於兩個整數值之間並且GL試圖正確呈現它時,會發生這種情況。

由於「過度精確」的框架,G1試圖插值到整數幀或只是不適當的圓。

因此,就像上圖所示,第一行被拉伸或y座標錯誤一個像素。

如果您返回單元高度的「過度精確」值,則也會發生在UITableView中。

+1

這讓我瘋狂。很好的發現。 – Sid

0

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

編輯:

下面是UITableView.h
@property(nonatomic) UITableViewCellSeparatorStyle separatorStyle; // default is UITableViewCellSeparatorStyleSingleLine

的UITableViewCell,UITableView中,德的UITableViewController簽署一起工作。而你的問題是你試圖單獨使用UITableViewCell。從邏輯上講,單元格分隔符不是單元格的特徵,它是表格的特徵。這就是爲什麼separatorStyle是UITableView的屬性,而不是UITableViewCell。那麼,不同的方法是可能的,蘋果選擇了這個。查看UITableView.h多少次'separator'子串出現在那裏。看看UITableViewCell.h:UITableViewCell引用了UITableView。和UITableViewCell編碼足夠準確,不會崩潰如果_tableView是零。我認爲,如果_tableView是零,單元格應用相同的默認值,並使用默認分隔符繪製自己。

你能做些什麼來擺脫你的情況下的分隔符?如果您無法使用UITableView進行設計,則會以某種方式進行欺騙。嘗試用你需要的屬性來給單元格添加一些愚蠢的tableview。

+0

看着我的眼睛,並誠實地告訴我,你已閱讀我的問題。 – yinkou

+0

我相信這是對你的問題的有效答案,那就是你如何擺脫分隔符......這就是你所問的。 – Matt

+0

不是。我明確指出,我沒有使用UITableView。 – yinkou