0

我已经发布了一个适用于 iPad 的应用程序,并且我正在努力使其具有普遍性。我有一个 UITextView,我想调整它的大小以适应它的内容。TextView 通过故事板创建并通过 IBOutlet 引用。我阅读了这个问题的答案How do I size a UITextView to its content? 并且正在使用代码来调整 TextView 的大小。这段代码在 iPad 上完美运行,但是当我在 iPhone 上运行它时,它不会调整大小。我已经在这个问题上工作了好几个小时,它一直在杀死我。

//self.speciesDescription is the TextView in Question here:

//set the text
self.speciesDescription.text=[self.modal getdescriptionForSpecies:self.plantDisplayed];

//call the method below
[self resizeTextView:self.speciesDescription];

//resizes the text view to fit the text
-(void)resizeTextView:(UITextView *)textView {
    CGRect contentFrame=textView.frame;
    contentFrame.size.height=textView.contentSize.height;
    textView.frame=contentFrame;
}

如果我在尝试调整大小之前在 TextView 上调用 initWithFrame: 可以正常工作,但如果我不必这样做,它将为我节省大量时间和代码。StoryBoard 不会自动调用 initWithFrame: 吗?

编辑:我今天进行了一些测试,发现 textView 的 contentSize 属性总是宽度为 0,高度超过 16000。任何想法为什么会这样?

4

1 回答 1

0

故事板使用构造函数初始化其视图initWithCoder:,而不是initWithFrame:. 如果您进行一些自定义初始化,请确保在initWithCoder:方法内部进行。

于 2013-03-23T21:37:40.577 回答