首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AutoresizingMask -固定底部位置

AutoresizingMask -固定底部位置
EN

Stack Overflow用户
提问于 2014-08-13 20:36:09
回答 1查看 489关注 0票数 0

我很难让AutoresizingMasks正常工作。

我想要的是一个视图,其中包含另一个视图(UITextView),这是对齐到调整大小后的第一个视图的底部。

我有一个看起来像这样的父UIView:

代码语言:javascript
复制
UIView *parentView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,568)];
[parentView setAutoresizesSubviews:YES];

然后我有一个子视图,如下所示:

代码语言:javascript
复制
UITextView *childView = [[UITextView alloc] initWithFrame:CGRectMake(10, 400, 300, 10)];
[childView setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleHeight];

现在,我添加文本并调整视图大小:

代码语言:javascript
复制
[childView setText:@"A long text that's bigger than the view."];
[childView sizeToFit];

然而,childView是向下而不是向上增长的。

如何将childView锚定到底部?我错过了什么?:)

我没有使用情节串连图板或任何其他xib/nib文件。只是纯代码。

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 18:39:11

只有当parentView的大小改变时,自动调整大小才起作用。

并且他们不记得它的子视图的旧的 frame

因此,您必须在sizeToFit之后手动调整childViewframe

代码语言:javascript
复制
CGRect oldFrame = childView.frame;
CGFloat bottomY = oldFrame.position.y + oldFrame.size.height;
[childView setText:@"A long text that's bigger than the view."];
[childView sizeToFit];
CGRect newFrame = childView.frame;
newFrame.position.y = bottomY - newFrame.size.height;
childView.frame = newFrame;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25286340

复制
相关文章

相似问题

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