2013-03-23 64 views
0

我已经发布了iPad应用程序,并且正在努力使其具有通用性。我有一个UITextView,我想调整其大小以适应其内容。 TextView通过故事板创建并通过IBOutlet引用。我阅读了这个问题的答案How do I size a UITextView to its content?,并使用代码来调整TextView的大小。此代码在iPad上完美运行,但是当我在iPhone上运行它时,它不会调整大小。我一直在研究这个问题好几个小时,它一直在杀我。UITextView不针对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; 
} 

如果我呼吁initWithFrame:方法上的TextView试图调整其正常工作之前,但它可以节省我的时间和代码串,如果我没有做到这一点。不是StoryBoard调用initWithFrame:自动反正呢?

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

回答

0

故事板以initWithCoder:构造函数初始化其视图,而不是initWithFrame:。如果您进行一些自定义初始化,请确保您在initWithCoder:方法中执行此操作。

+0

你知道为什么它可以在iPad上工作,但不是在iPhone上工作吗? – 68cherries 2013-03-23 22:02:31

+0

我还没有看到您的代码。我不知道你为自己的观点做了什么样的自定义初始化。也许你有一些设备特定的代码,可以在iPad上正常工作,但不能在iPhone上工作。 – Adam 2013-03-23 22:09:17