使用浮动数字变量更改UITextView

时间:2013-09-16 13:41:37

标签: 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英寸iPod touch没什么区别......我做错了什么?

更新: 这是我的.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);
}

1 个答案:

答案 0 :(得分:1)

您可以像这样获得屏幕信息:

screenWidth = [UIScreen mainScreen].bounds.size.width;
screenHeight = [UIScreen mainScreen].bounds.size.height;
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];

您可以动态计算所需的每个高度或宽度,并且您的视图将获得正确的框架。

编辑:

- (void)viewDidLoad
{
    [super viewDidLoad];

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

这将使你_screen将从40开始,它也会在底部40处挂起。

如果你想制作一个居中的视图,请按以下方式进行:

    _screen.frame = CGRectMake(20, 40, screenWidth-40, screenHeight-80);

并且不要忘记将屏幕添加到超级视图中,如:

[self.view addSubview:_screen];

我希望它有所帮助。 还有一个提示:如果你设置_screen.backgroundcolor = [UIColor orangeColor];进行测试,你可以看到你的_screen框架。