Вопрос

Я хотел бы отобразить UIActivityView в закругленном прозрачном поле с текстом, как показано ниже.Кто-нибудь знает как это сделать?

п.с.Я бы не хотел помещать это в UIAlertView, но я не знаю, как это сделать по-другому.

Спасибо!
Тристан

alt text

Это было полезно?

Решение

Конечно, создайте новый подкласс UIView, называйте его как хотите.Добавьте пару иваров: один для индикатора активности и один для вашего сообщения (чтобы UIActivityIndicatorView и UILabel).Если хотите, подключите их к свойствам, в любом случае, возможно, это хорошая идея для метки.

Вам также понадобится определить некоторые методы, например -show и -hide чтобы показать вид и скрыть его.Вы можете анимировать его по своему усмотрению, если хотите, я не буду здесь вдаваться в подробности.

Следующее, что вам нужно сделать (или, по крайней мере, как я это сделал), — это создать представление, указав его фрейм, давайте просто определим его следующим образом:

UIWindow* keyWindow = [[UIApplication sharedApplication] keyWindow];
CGFloat width = 160;
CGFloat height = 160;
CGRect centeredFrame = CGRectMake(round(keyWindow.bounds.size.width/2 - width/2),
                                  round(keyWindow.bounds.size.height/2 - height/2),
                                  width, height);

Это сделает его 160x160.Отрегулируйте его backgroundColor до 50% непрозрачности, убедитесь, что это opaque Для свойства также установлено значение NO.Вам также понадобится что-то вроде:

self.layer.cornerRadius = 10;

где self указывает на вид, который вы создаете естественным образом.

Этой информации должно быть достаточно, чтобы вы могли начать, большинство людей анимируют ее (обычно я делаю ее очень большой, т. е. 160x2 на 160x2, и быстро уменьшаю ее до нужного размера, чтобы придать эффект всплывающего окна, затемняю ее на завершение и все такое).Хотя я оставлю это для вас в качестве упражнения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top