Я разместил UISwitch, UILabel и пару кнопок на UITableViewCell, и теперь теперь мне нужно, чтобы они правильно реагировали (показывать/скрывать), когда UISwitch изменяет статус.iOS: как указывать на конкретный элемент управления на UITableView
Моя проблема заключается в том, что вышеупомянутые UILabel и кнопки они скрываются и происходят на случайных ячейках, а не в этом конкретном месте, где размещается UISwitch.
Я зашел так далеко:
-(void)hideQualityBtn:(id)sender
{
if(sender.tag==9001)
{
UITableViewCell *cell=((UITableViewCell*)[sender superview]);
// cell.control.....hidden=YES;
}
}
Помощь очень ценится, спасибо заранее.
EDIT:
в cellForRowAtIndexPath
self.switchView = [[UISwitch alloc] initWithFrame:CGRectMake(7, 8, 79, 27)];
[switchView addTarget:self action:@selector(setItem:) forControlEvents:UIControlEventValueChanged];
[switchView setTag:9001];
[cell addSubview:switchView];
[cell setIndentationWidth:45];
[cell setIndentationLevel:1];
SetItem мет:
-(void)setItem:(UISwitch*)sender
{
int n;
UITableViewCell *cell;
// so i'm getting item ID
if(sender.tag==9001)
{
cell=((UITableViewCell*)[sender superview]);
n=([self.tableView indexPathForCell:cell].row);
}
item=[self.arr objectAtIndex:n];
NSDate *today=[NSDate date];
NSDateFormatter *formatter =[[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
NSString *now =[formatter stringFromDate:today];
if(sender.on)
{
DBAccess *access=[[DBAccess alloc]init];
[access setItemON:item.itemID date:now];
qualityBtn.hidden=NO;
[qualityBtn setTitleColor:[UIColor blackColor] forState:normal];
[qualityBtn setTitle:@"UNDEF" forState:normal];
}
else
{
DBAccess *access=[[DBAccess alloc]init];
[access setItemOFF:item.itemID];
}
}
Мой конкретный вопрос, как указать для управления, которые расположены в определенной ячейке?
всего лишь момент. Я редактирую. – NCFUSN