Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c UITextView未正确调整大小_Objective C_Ios_Xcode_Uitextview - Fatal编程技术网

Objective c UITextView未正确调整大小

Objective c UITextView未正确调整大小,objective-c,ios,xcode,uitextview,Objective C,Ios,Xcode,Uitextview,我有一个视图,上面有一个表视图,下面有一个滚动视图。 当我按下resize bar按钮项时,我想隐藏表格视图并最大化滚动视图。我让滚动视图和表格视图正确地设置了动画,但我正在尝试调整滚动视图内的UITextView的大小,以利用额外的屏幕空间 每当我计算调整大小时,UITextView就会出现在屏幕的左上角,我不知道为什么。我甚至没有修改X和Y,只是修改了高度 CGRect newDesFrame = descriptionTextView.bounds; newDesFrame.size.he

我有一个视图,上面有一个表视图,下面有一个滚动视图。 当我按下resize bar按钮项时,我想隐藏表格视图并最大化滚动视图。我让滚动视图和表格视图正确地设置了动画,但我正在尝试调整滚动视图内的
UITextView
的大小,以利用额外的屏幕空间

每当我计算调整大小时,
UITextView
就会出现在屏幕的左上角,我不知道为什么。我甚至没有修改X和Y,只是修改了高度

CGRect newDesFrame = descriptionTextView.bounds;
newDesFrame.size.height = newDesFrame.size.height + tableViewFrame.size.height;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.5];

self.scrollView.frame = scrollFrame;
self.descriptionTextView.frame = newDesFrame;

[UIView commitAnimations];

我不知道为什么会这样。
descriptionTextView.bounds
是否因为位于
UIView
中的
UIScrollView
中而变得混乱?看起来,当我对滚动视图的X和Y进行NSLog时,它是0,0。这很奇怪,因为它在superview或视图中不在0,0。如何修复此问题?

发生这种情况是因为您正在执行 self.descriptionTextView.frame=newDesFrame(这是Bounds属性,不是frame!!了解差异)

解决方案:


self.descriptionTextView.bounds=newDesFrame

descriptionTextView很可能跳到左上角,因为实际上您正在更改原点(x和y)。您将从以下内容开始:

CGRect newDesFrame = descriptionTextView.bounds;
获取该文本视图的边界将为您提供一个原点为0,0的CGRect,因为“边界”将为您提供视图在其自身的局部坐标空间中的矩形

请尝试以下方法:

CGRect newDesFrame = descriptionTextView.frame;

这将为您提供视图在superview坐标空间中的矩形,包括实际原点。

太棒了!谢谢你的解释。我想我不应该混合使用边界和帧。这样调整大小比使用两个边界都好。@Bodgan非常感谢您!我会阅读你提供的链接。再次感谢!