为什么我需要将44添加到UITextView框架高度?

时间:2012-10-09 15:13:34

标签: height uilabel uitextview cgrectmake

我正在尝试动态更改UITextView的高度:

... UITextView* textView; ...

CGRect textViewNewFrame = CGRectMake(textView.frame.origin.x, textView.frame.origin.y, textView.frame.size.width, 130);
textView.frame = textViewNewFrame;

在IB中,我有一个与我的UITextView顶对齐的UIButton。 UIButton高130px;例如,UITextView是150px高。

如果我运行上面的代码,UITextView最终会缩短44px。我必须将我的CGRectMake行更改为结束,

..., 130 + 44);

然而,如果在IB中我'硬编码'UITextView的高度为130px,则UIButton和UITextView呈现为顶部和底部对齐(它们都是相同的高度)。

因此,当动态更改UITextView框架的高度时,我必须添加44,但不能通过IB“静态”设置其高度。

奇怪的是,UILabel没有这样的行为错误(动态调整大小时我不需要添加44px)。

我知道44是IB中的神奇数字(导航栏的高度等),但为什么我需要添加它?我错过了什么/做错了什么,或者这只是一个异常?我担心这必须是一个如此常见的操作,但我找不到其他人提出同样的问题并得出同样的结论。

0 个答案:

没有答案