Что это за вид анимации активности? - PullRequest
0 голосов
/ 28 января 2012

На рисунке ниже, какой тип представления используется для создания индикатора активности «включение напоминаний»? Это пользовательский вид с меткой и стандартным UIActivityIndicator? встроенный в UIKit класс?

activity indicator

Ответы [ 4 ]

4 голосов
/ 28 января 2012

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

https://github.com/jdg/MBProgressHUD

2 голосов
/ 28 января 2012

да, это вид с меткой и стандартным UIActivityIndicator.

1 голос
/ 28 января 2012

Вам не нужен пользовательский вид.Что-то вроде этого полностью непроверенного кода сделало бы это:

- (UIView *)busyOverlayViewWithText:(NSString *)text {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(80, 120, 160, 160)];
    view.opaque = NO;
    view.clipsToBounds = YES;
    view.backgroundColor = [UIColor colorWithWhite:0 alpha:.2];
    view.layer.cornerRadius = 8;

    UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle: UIActivityIndicatorViewStyleWhiteLarge];
    spinner.center = CGPointMake(80, 30);
    [spinner startAnimating];
    [view addSubview:spinner];

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 60, 160, 100)];
    label.text = text;
    label.textColor = UIColor.whiteColor;
    label.backgroundColor = UIColor.clearColor;
    label.textAlignment = UITextAlignmentCenter;
    label.numberOfLines = 0;
    label.lineBreakMode = UILineBreakModeWordWrap;
    [view addSubview:label];

    return view;
}

это использует ARC.Добавьте (авто) выпуски, если вы используете ручное управление памятью.

0 голосов
/ 28 января 2012

Это не единственный встроенный класс. Скорее это композиция из:

  • Пользовательский прозрачный вид, возможно изображение.
  • Стандартный индикатор активности.
  • Стандартная этикетка.

Если вы хотите создать что-то похожее, вы можете легко поместить их всех в один класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...