アプリ内にたくさんのテキストビューがあります。なんらかの理由で、UITextView テキストをプログラムで (インターネットから) 設定するか、インターフェイス ビルダー (ハードコード) で設定するかに関係なく、テスト時にそのテキスト ビューに移動すると空白になります。しかし、スクロールするとすぐに、すべてのテキストがどこからともなく現れます。明確にするために、十分なテキストがないためにテキストビューがスクロールしないと言っているのではありません。テキストビューにはテキストがプログラムされていますが、アプリの実行中は、テキストビューが実際にスクロールされるまでテキストは表示されず、テキストが表示されます。
誰でもこれを修正する方法を知っていますか? ビューのリンクを解除して再リンクを試みました。
コード: h ファイル
@interface AboutViewController : UIViewController
{
IBOutlet UITextView *textView;
NSMutableData *responseData;
NSString *res;
}
@property(nonatomic,retain)IBOutlet UITextView *textView;
@property (nonatomic,retain)NSMutableData *responseData;
@end
mファイル
#import "AboutViewController.h"
@interface AboutViewController ()
@end
@implementation AboutViewController
@synthesize responseData= _responseData;
@synthesize textView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.someurl.com"]];
[NSURLConnection connectionWithRequest:req delegate:self];
}
return self;
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if (!_responseData) {
[self setResponseData:[NSMutableData data]];
}
[_responseData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)URLresponse {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)URLresponse;
if (![httpResponse isKindOfClass:[NSHTTPURLResponse class]]) {
NSLog(@"Unknown response type: %@", URLresponse);
return;
}
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection {
res=[[NSString alloc] initWithData:_responseData encoding:NSUTF8StringEncoding];
textView.text = res;
NSLog(@"RES:%@",res);
}
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
-(void)dealloc{
[super dealloc];
[res release];
}
@end