将屏幕宽度指定为 "dynamic" 常量

Specifying screen width as a "dynamic" constant

我有一个 UIView class 我正在集成到一个项目中。我打算将 MySubView 添加到 MyViewController。有一个常量 class,其中屏幕宽度硬编码如下:

MySubviewConstants.h

#define SCREEN_WIDTH 300.0f

我想将此常量定义为其 运行 所在设备的子视图宽度,而不是硬编码数字。我认为这应该是一个简单的 25 指针。

此代码将获取实际设备的屏幕宽度:

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;

或者可能使用以下变体:

[[[[UIApplication sharedApplication] keyWindow] rootViewController].view convertRect:[[UIScreen mainScreen] bounds] fromView:nil].size