首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使CGRectMake框架粘在底部

使CGRectMake框架粘在底部
EN

Stack Overflow用户
提问于 2014-01-12 09:02:43
回答 4查看 854关注 0票数 1

我试图有一个视图,以适应屏幕的剩余高度。问题是,我试图在iPhone 4和iPhone 5布局上做到这一点。

我想做的是让我的CGRectMake代码,使框架只是锚定在主视图的底部。有办法做这种事吗?谢谢!

这是我的webView CGRectMake代码:

代码语言:javascript
复制
webView.frame = CGRectMake(0, 167, 320, 313);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-01-12 11:56:06

在这里尝试使用自动布局以避免硬编码。

代码语言:javascript
复制
webView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
webView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:webView];

NSDictionary *viewsDict = @{@"webView" : webView};
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-167-[webView]-0-|" 
                  options:0 metrics:nil views:viewsDict]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[webView]-0-|" 
                  options:0 metrics:nil views:viewsDict]];

在执行自动调整时,还将避免布局问题。

票数 2
EN

Stack Overflow用户

发布于 2014-01-12 09:20:18

您可以引用视图框架来完成这一任务。

代码语言:javascript
复制
webView.frame = CGRectMake(0, 167, 320, self.view.frame.size.height - 167);
票数 0
EN

Stack Overflow用户

发布于 2014-01-12 09:54:21

好吧,如果你有固定的起始高度,那太容易了:

代码语言:javascript
复制
int startHeight = 167;
int frameHeight = self.view.frame.size.height - startHeight;
webView.frame = CGRectMake(0, startHeight, 320, frameHeight);

这样做是得到视图的高度,然后它扣除窗口的开始偏移量。为此,需要在视图显示在UIWindow上之后执行代码,这意味着您需要在viewDidAppear而不是viewDidLoad中执行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21072965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档