как да промените стойностите на лентовата диаграма с помощта на плъзгача в ios

Имам проблем в моето приложение за стълбовидна диаграма в iOS. Създадох лентова диаграма с помощта на DSBarChart и управление на плъзгача. Искам диаграмата да се променя динамично, когато сменя плъзгача. Как да направя това? Ето примерен код на това, което съм направил досега.

- (void)sliderValueDidChange:(UISlider *)sender {
    if((int)slider.value % 10 == 0) {
        positionLabel.text = [NSString stringWithFormat:@"%d",(int)slider.value];
        myValue =  (int)slider.value;
    }

    NSDictionary *dict =[NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithInt:10], @"0",
                         [NSNumber numberWithInt:20], @"1",
                         [NSNumber numberWithInt:15], @"2",
                         [NSNumber numberWithInt:25], @"3",
                         [NSNumber numberWithInt:30], @"4",
                         [NSNumber numberWithInt:20], @"5",
                         [NSNumber numberWithInt:15], @"6",
                         nil];

    DSBarChart *chrt = [[DSBarChart alloc] initWithFrame:ChartView.bounds
                        color:[UIColor greenColor]
                        andDictionary:dict];
    chrt.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    chrt.bounds = ChartView.bounds;
    [ChartView addSubview:chrt];
}

person Jaikannan    schedule 20.11.2012    source източник
comment
Не знам каква грешка правите, трябва да ни уведомите какъв е проблемът.   -  person jimpic    schedule 20.11.2012
comment
Здравейте, създадох DSBarChart. Какво точно се опитвате да направите тук? Опитвате ли се да имате няколко плъзгача, които се припокриват с диаграмата? Не разбирам ясно въпроса ви. Ако можете да редактирате/коментирате по-ясно, ще ви помогна.   -  person dhilipsiva    schedule 27.11.2012
comment
Здравейте, Mr.DhilipSiva, искам да създам стълбовидна диаграма с плъзгач. когато моят плъзгач се промени или премести, стойностите на лентовата диаграма също се променят и диаграмата ми също се променя. Не знам как да постъпя?   -  person Jaikannan    schedule 29.11.2012


Отговори (2)


Едно нещо, което можете да направите, е да създадете персонализиран изглед върху лентовата диаграма.

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

if (lineView) {
    [lineView removeFromSuperview];

    NSSet *allTouchesSet = [event allTouches]; 
    NSArray *allTouches = [NSArray arrayWithArray:[allTouchesSet allObjects]];   
    int count = [allTouches count];

    if (count  == 1) {

        UITouch *touch = [[event allTouches] anyObject];
        tapPoint = [touch locationInView:self];
        NSLog(@"tapPoint: %@",NSStringFromCGPoint(tapPoint));

        UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(tapPoint.x, 0.0, 1, 320.0)];
        lineView.backgroundColor = [UIColor whiteColor];
        [parentView addSubview:lineView];


    }
}

}
person parilogic    schedule 03.12.2012

DSBarChart все още не се свързва динамично с контроли! Но има заобиколно решение. Когато се задейства промяната на стойността на плъзгача, можете да премахнете съществуващия екземпляр на DSBarchart от изгледа, да създадете нова диаграма с променената стойност и да я добавите отново в изгледа. В момента DSBarChart е в състояние преди алфа. Не прави много. Ще разширя функционалността, когато намеря време.

person dhilipsiva    schedule 03.12.2012