Ios 使用浮点数变量更改UITextView

Ios 使用浮点数变量更改UITextView,ios,objective-c,Ios,Objective C,我想在中间显示UITextView,动态显示3.5英寸和4英寸显示器。但它有顶部和底部的“填充”20分 因此,我创建了以下代码来测量UIView的高度: CGFloat screenHeight = _screen.frame.size.height; float scrollHeight = screenHeight - 40; 然后我添加这一行来设置屏幕: _screen.frame = CGRectMake(20, 40, 320, scrollHeight); 但我看不出我的4英寸i

我想在中间显示UITextView,动态显示3.5英寸和4英寸显示器。但它有顶部和底部的“填充”20分

因此,我创建了以下代码来测量UIView的高度:

CGFloat screenHeight = _screen.frame.size.height;
float scrollHeight = screenHeight - 40;
然后我添加这一行来设置屏幕:

_screen.frame = CGRectMake(20, 40, 320, scrollHeight);
但我看不出我的4英寸iPodtouch有什么不同。。。我做错了什么

更新: 这是我的.h文件:

@property (strong, nonatomic) IBOutlet UIView *screen;
这是我的.m文件:

- (void)viewDidLoad
{
    [super viewDidLoad];

    CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
    _screen.frame = CGRectMake(20, 40, 320, screenHeight);
}

您可以通过以下方式确定屏幕信息:

screenWidth = [UIScreen mainScreen].bounds.size.width;
screenHeight = [UIScreen mainScreen].bounds.size.height;
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
    _screen.frame = CGRectMake(20, 40, screenWidth-40, screenHeight-80);
您可以使用这些动态计算所需的每个高度或宽度,您的视图将获得正确的帧

编辑:

这将使你的_屏幕将在40开始,它将挂在底部40太多

如果要创建居中视图,请如下所示:

screenWidth = [UIScreen mainScreen].bounds.size.width;
screenHeight = [UIScreen mainScreen].bounds.size.height;
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
    _screen.frame = CGRectMake(20, 40, screenWidth-40, screenHeight-80);
不要忘记将屏幕添加到superview中,如:

[self.view addSubview:_screen];
我希望有帮助。
还有一个提示:如果设置
\u screen.backgroundcolor=[UIColor orangeColor],您可以看到您的屏幕框架用于测试

在textView的superview上尝试TranslatesAutoResizezingMaskinToConstraints=NO。我尝试了您的代码:CGFloat screenHeight=[UIScreen mainScreen].bounds.size.height_screen.frame=CGRectMake(20,40,320,屏幕高度);但结果还是一样。。。UITextView仍然没有动态高度。您能给我看一下完整的代码吗,您在哪里也创建了superview?它必须起作用。我在每个项目中都使用了这些代码,并且工作得非常完美。