загрузка дисплея
-
02-10-2019 - |
Вопрос
Я хотел бы отобразить UIActivityView в закругленном прозрачном поле с текстом, как показано ниже.Кто-нибудь знает как это сделать?
п.с.Я бы не хотел помещать это в UIAlertView, но я не знаю, как это сделать по-другому.
Спасибо!
Тристан
Решение
Конечно, создайте новый подкласс 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, и быстро уменьшаю ее до нужного размера, чтобы придать эффект всплывающего окна, затемняю ее на завершение и все такое).Хотя я оставлю это для вас в качестве упражнения.