необходимо обновить uilabel программно в виде таблицы при смене слайдера - PullRequest
1 голос
/ 04 февраля 2011

У меня есть табличное представление, в котором есть разделитель uislider в разделе 2 и строке 3 и метка в том же месте, мне нужно изменить значение uilabel при изменении uislider.я дал метод для uislider как

[slider addTarget:self action:@selector(sliderAction:)forControlEvents:UIControlEventValueChanged];             

и для uislider я дал

-(void)sliderAction:(UISlider*)sender;

{   
    NSLog(@"%f",[sender value]);

    MlifetimeLabel.text=[NSString stringWithFormat:@"%f",[sender value]];
    [self.tableView reloadData];


}

в nslog я получаю непрерывный поток значений, но в метке .....вещи не обновляются должным образом ........ help

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

вам нужно будет обновить метку в главном потоке.попробуйте что-то вроде

NSString * str = [NSString stringWithFormat: @ "% f", [значение отправителя]];

[MlifetimeLabel executeSelectorOnMainThread: @ selector (setText:) withObject:str waitUntilDone: YES];

1 голос
/ 04 февраля 2011

Вам не нужно перезагружать всю таблицу, поскольку вы знаете строку и раздел ячейки, которые вы должны изменить, просто попробуйте этот код в методе селектора.считая строку и раздел из индекса 0, а не 1, в противном случае используйте

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:2 inSection:1]] 
...