首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有固定底部UIView的自动布局调整UIView大小

使用带有固定底部UIView的自动布局调整UIView大小
EN

Stack Overflow用户
提问于 2016-04-24 22:41:13
回答 1查看 104关注 0票数 0

当键盘出现时,我想使用Autolayout调整view1的大小,我在屏幕底部也有view2,如下所示:

view1view2之间的layoutConstraint

我创建了IBOutlet并执行了以下操作

代码语言:javascript
复制
-(void)keyboardWillShow:(NSNotification*)n {

    NSDictionary *info  = n.userInfo;
    NSValue      *value = info[UIKeyboardFrameEndUserInfoKey];
    CGRect rawFrame      = [value CGRectValue];
    CGRect keyboardFrame = [self.view convertRect:rawFrame fromView:nil];

    _blc.constant = CGRectGetHeight(keyboardFrame)-35;
    [self.view layoutIfNeeded];
}


-(void)keyboardWillHide:(NSNotification*)n {
    _blc.constant = 0.0;
    [self.view layoutIfNeeded];
}

view2height 35的,所以当键盘出现和消失时,view1下会有一个可见的间隙,如下所示

我特意给了基座UIView一种水蓝色来告诉你这个缝隙。

如何在调整view1大小时弥补这一差距

EN

回答 1

Stack Overflow用户

发布于 2016-04-25 03:11:41

所以如果我没弄错的话,你想要做的是用键盘调整你的View1的大小,而把View2留在它的下面?如果就是这样,你的视图是这样的:

代码语言:javascript
复制
--------------
View1
View2
--------------

您应该有一个从View1.bottom到View2.top的垂直空间约束,常量为0;另一个垂直空间约束是从View1.bottom到Superview.bottom =(无论接口构建器建议您使用什么)。您想要IBOutlet的约束是最后一个。

当键盘出现/消失时,您可以像以前一样更新它的常量。这应该就行了。

希望它能有所帮助!!

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

https://stackoverflow.com/questions/36824550

复制
相关文章

相似问题

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