Можно ли редактировать свойство UITableViewCellAccessoryDetailDisclosureButton? - PullRequest
1 голос
/ 15 сентября 2011

Скажем, например, что я хотел отредактировать заголовок для выделенного состояния, это возможно?

Я знаю, что это возможно с пользовательским UIButtons, но возможно ли редактировать свойстваUITableViewCellAccessoryDetailDisclosureButton?

Если нет, возможно ли создать пользовательскую кнопку и при этом вызвать метод делегата UITableView?Если так, как можно передать indexPath из пользовательской кнопки?

Приветствия!

Ответы [ 3 ]

1 голос
/ 15 сентября 2011

Насколько мне известно, вам придется установить свою собственную кнопку в качестве вспомогательного вида.Есть несколько способов получить indexPath, и я предпочитаю получать координаты касания, используя locationInView:, а затем indexPathForRowAtPoint:, чтобы получить фактический indexPath, который вам нужен:

CGPoint location = [sender locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

(код взят из здесь )

1 голос
/ 15 сентября 2011

Вы можете создать пользовательский UIButton и присвоить его свойству accessoryView вашей ячейки.Если вы хотите сделать что-нибудь.действительно настраиваемый для выделенного состояния ячеек, вы должны рассмотреть подклассы UITableViewCell и переопределить setSelected:animated:

1 голос
/ 15 сентября 2011

укажите ваш пользовательский 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...