以编程方式创建覆盖iphone屏幕前50%的子视图

use*_*509 2 iphone objective-c subview ios cgrectmake

我有一个子视图,我已经通过使用frame属性并将其值设置为CGRectMake函数的参数值来自定义它的大小.

我已经慢慢但肯定地改变了CGRectMake参数并重新运行应用程序以使子视图在屏幕上的正确位置,但我知道必须有一种更简单的方法.

这是我目前正在做的事情:

UIImageView *halfView = [[UIImageView alloc]initWithImage:image];

[self.view addSubview:halfView];

halfView.frame = CGRectMake(0, 0, 320, 270);
Run Code Online (Sandbox Code Playgroud)

有没有办法让我不必手动将这4个参数输入到CGRectMake中,只需将其设置为屏幕的前50%?

这就是我希望子视图在iphone屏幕上的样子:

在此输入图像描述

感谢您的帮助.

Joh*_*ato 7

halfView.frame = CGRectMake(0, 0, 320, self.view.bounds.size.height/2);
Run Code Online (Sandbox Code Playgroud)

你只需要将高度除以2

你也应该320改为self.view.bounds.size.width

我建议阅读这篇文章,以便真正掌握UIViews并与他们合作: UIView框架,边界和中心

  • @ user3117509:"_eliminate the guessing_",因此......`self.view.bounds.size.height/2` =视图大小的50% (2认同)