2012-05-14 2 views
1

Я хочу создать пользовательскую панель выполнения для своего приложения. Я новичок в разработке iOS и затрудняюсь понять коды на google, которые меня путают. То, что я хочу, похоже на растущий анимированный индикатор прогресса. Например, как показано прогресс в терминах роста дерева от небольшого растения (до полного дерева), что означает завершение процесса.ios custom progress bar design

Где и с чего начать? А также является Core Graphics или cocos2d, который будет уместен для этого?

+0

Вместо поиска кода в Google, как насчет написания какого-то ?. Если вы новичок в разработке iOS, трудно понять, с чего начать помогать вам. Вы не сказали, что вы пробовали, или с чем вы испытываете трудности. Попробуйте прочитать [Руководство по рисованию и печати iOS] (http://developer.apple.com/library/ios/#DOCUMENTATION/2DDrawing/Conceptual/DrawingPrintingiOS/Introduction/Introduction.html), чтобы начать с него, а затем задать более конкретные вопросы. – Abizern

ответ

5

Если вы делаете что-то графическое, как дерево, то у вас уже есть анимация, которую вы хотите использовать в виде серии изображений?

Если это так, вы можете использовать UIImageView. Всякий раз, когда вы хотите обновить индикатор выполнения, просто проверьте ход выполнения своей задачи и используйте это, чтобы определить, какое числовое изображение должно отображаться. Итак, если у вас было двенадцать изображений, вы могли бы найти процент завершения вашей задачи, делить на 100, а затем умножить на двенадцать (а затем преобразовать в int), чтобы получить нужный номер изображения.

После того, как вы сделали это, просто получить изображение с соответствующим названием и поместить его на ваш взгляд изображения:

self.myImageView.image = [UIImage imageNamed:[NSString stringWithFormat:@"frame-%i", myImageNumber]]; 

Как когда делать проверку хода, которая зависит от задачи, которую вы делаете. В некоторых задачах есть естественное место для ввода обратного вызова для обновления пользовательского интерфейса, а для других лучше просто использовать таймер.

0

https://github.com/jdg/MBProgressHUD Попробуйте этот код его modst широко используется с открытым исходным кодом для своего рода цели

+1

больше похоже на указатель активности –

+0

Да, есть варианты выбора. – Allamaprabhu

+0

идите с этим открытым исходным кодом. это действительно полезно и будет решать ур запрос. –

1

вы не можете многое изменить в uiprogressbar вместо этого вы можете использовать UISlide вести себя как ProgressBar .

вы можете изменить только рамку ProgressBar, как: -

UIProgressView *progressView = [[UIProgressView alloc] initWithProgressViewStyle 
:UIProgressViewStyleBar]; 
[progressView setFrame:CGRectMake(0,0,320,10)]; 

вы можете создать uiSlider и сделать его ThumbImage к нулю, setMinimumTrackImage анс maxtrackImage, а затем использовать пользовательскую функцию на нем, чтобы показать прогресс

custom UISlider

+0

Он хочет дерево. –

+0

Это интересная мысль! Спасибо за эту идею. –