/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/Libraries/Wrapper/Example/RCTWrapperExampleView.m
57 строк
1 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 "RCTWrapperExampleView.h" #ifndef RCT_REMOVE_LEGACY_ARCH #import <RCTWrapper/RCTWrapper.h> @implementation RCTWrapperExampleView { NSTimer *_timer; CGSize _intrinsicContentSize; } - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { self.backgroundColor = [UIColor whiteColor]; _intrinsicContentSize = CGSizeMake(64, 64); _timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(tick) userInfo:nil repeats:YES]; UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tick)]; [self addGestureRecognizer:gestureRecognizer]; } return self; } - (void)tick { _intrinsicContentSize.width = 32 + arc4random() % 128; _intrinsicContentSize.height = 32 + arc4random() % 128; [self invalidateIntrinsicContentSize]; [self.superview setNeedsLayout]; } - (CGSize)intrinsicContentSize { return _intrinsicContentSize; } - (CGSize)sizeThatFits:(CGSize)size { return CGSizeMake(MIN(size.width, _intrinsicContentSize.width), MIN(size.height, _intrinsicContentSize.height)); } @end RCT_WRAPPER_FOR_VIEW(RCTWrapperExampleView) #endif // RCT_REMOVE_LEGACY_ARCH