舉例來說,我想要編輯突出顯示狀態的標題,這可能嗎?是否可以編輯UITableViewCellAccessoryDetailDisclosureButton屬性?
我知道這是可能的自定義UIButtons
,但是有可能編輯UITableViewCellAccessoryDetailDisclosureButton
的屬性?
如果沒有,是否可以創建自定義按鈕並仍然調用UITableView
委託方法? 如果是這樣,如何通過自定義按鈕單元中的indexPath
?
乾杯!
舉例來說,我想要編輯突出顯示狀態的標題,這可能嗎?是否可以編輯UITableViewCellAccessoryDetailDisclosureButton屬性?
我知道這是可能的自定義UIButtons
,但是有可能編輯UITableViewCellAccessoryDetailDisclosureButton
的屬性?
如果沒有,是否可以創建自定義按鈕並仍然調用UITableView
委託方法? 如果是這樣,如何通過自定義按鈕單元中的indexPath
?
乾杯!
你可以創建一個自定義UIButton
並將其分配給您的單元格的accessoryView
屬性。 如果你想做某事。真正爲單元格突出顯示的狀態定製,您應該考慮子類化UITableViewCell
並覆蓋setSelected:animated:
,爲自button.tag=indexPath.row
和訪問行沒有。從按鈕標籤
例如: -
UIButton *deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
[deleteButton setFrame:CGRectMake(285, 5, 30, 30)];
deleteButton.contentMode = UIViewContentModeScaleAspectFill;
UIImage *newImage12 = [UIImage imageNamed:@"x.png"];
deleteButton.tag = indexPath.row;
[deleteButton setBackgroundImage:newImage12 forState:UIControlStateNormal];
[deleteButton setBackgroundImage:newImage12 forState:UIControlStateHighlighted];
[deleteButton addTarget:self action:@selector(deleteRemindersMethod:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:deleteButton];
-(void)deleteRemindersMethod:(UIButton *)sender
{
int rowNO=sender.tag;
}
據我所知,你必須設定自己的按鈕,附屬視圖。有幾種方法來獲取indexPath,我的首選是讓使用locationInView:
然後indexPathForRowAtPoint:
得到你所需要的實際indexPath
觸摸座標:
CGPoint location = [sender locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
(從here採取代碼)
將標記設置爲indexPath.row然後您可以根據行激發操作 – Srinivas