/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/React/Views/RCTActivityIndicatorViewManager.m
65 строк
2 KB
Ramanpreet Nara
Consolidate all c macros (#53823)
26 сен 2025, 02:59
26 сен 2025, 02:59
d389008
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import "RCTActivityIndicatorViewManager.h" #ifndef RCT_REMOVE_LEGACY_ARCH #import "RCTActivityIndicatorView.h" #import "RCTConvert.h" @implementation RCTConvert (UIActivityIndicatorView) RCT_ENUM_CONVERTER( UIActivityIndicatorViewStyle, (@{ @"large" : @(UIActivityIndicatorViewStyleLarge), @"small" : @(UIActivityIndicatorViewStyleMedium), }), UIActivityIndicatorViewStyleLarge, integerValue) @end @implementation RCTActivityIndicatorViewManager RCT_EXPORT_MODULE() - (UIView *)view { return [RCTActivityIndicatorView new]; } RCT_EXPORT_VIEW_PROPERTY(color, UIColor) RCT_EXPORT_VIEW_PROPERTY(hidesWhenStopped, BOOL) RCT_CUSTOM_VIEW_PROPERTY(size, UIActivityIndicatorViewStyle, UIActivityIndicatorView) { /* Setting activityIndicatorViewStyle overrides the color, so restore the original color after setting the indicator style. */ UIColor *oldColor = view.color; view.activityIndicatorViewStyle = json ? [RCTConvert UIActivityIndicatorViewStyle:json] : defaultView.activityIndicatorViewStyle; view.color = oldColor; } RCT_CUSTOM_VIEW_PROPERTY(animating, BOOL, UIActivityIndicatorView) { BOOL animating = json ? [RCTConvert BOOL:json] : [defaultView isAnimating]; if (animating != [view isAnimating]) { if (animating) { [view startAnimating]; } else { [view stopAnimating]; } } } @end #endif // RCT_REMOVE_LEGACY_ARCH