2011-04-09 94 views
1

當表格進入編輯模式時,是否可以在單元格左側實現UITableViewCell的子視圖? 我面臨的另一個問題是cell.textLabel的邊界是隻讀的。是否有可能爲該標籤使用某種插頁? (因爲我像上面提到的,想在左側使用視圖)UITableViewCell子視圖(左側)

編輯:當整個表格進入編輯模式時,如何執行一個動作(在這種情況下,淡入一個子視圖)? (不是通過在單元格上滑動)。我想實現這個的原因是因爲tableview在單元格左側顯示「 - 」按鈕,如果它處於編輯模式。 (如果編輯= NO,我想在單元格的左側顯示我自己的按鈕,如果編輯= YES,則淡出它,如果tableView離開編輯模式(編輯=否),則再次顯示它)

第一個想法指示我的東西是這樣的:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    if(editing) { 
     //fade out my own button 
    } else { 
     //show my own button 
    } 
} 

但我將不得不循環所有單元格,我認爲這導致大幅度的性能惡化。你怎麼看?

+0

我不是很瞭解你想要什麼,但是你看到* [Table View Programming Guide](http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/ AboutTableViewsiPhone.html)*? – vikingosegundo 2011-04-09 18:39:58

回答

1

最後,我創建了一個自定義的UILabel,而不是默認的UITableView textLabel,並在左側添加了一個自定義按鈕。在setEditing方法中,我將這個按鈕淡入/淡出。

1

您想要設置UITableViewCell的編輯附件視圖。有關這方面的信息,請參閱editingAccessoryView property。更多信息請參見TableView Programming GuideCustomizing Cells section

表格視圖單元格內容視圖內的標籤是隻讀的,因此您不能重新分配它,但其屬性是可變的。實際上,您可以在表視圖單元格的範圍內移動標籤。這可能會讓人困惑,但請查看Table View Programming Guide的Characteristics of Cell Objects部分。其中顯示了每個嵌套視圖的邊界框(並非全部都始終可見)。出於您的目的,一個好的練習是將UITableViewCell的每個子視圖的背景顏色設置爲不同的顏色,然後嘗試調整它們的大小。這樣做並理解正在發生的事情可能會讓你達到你想要的最終結果。