2011-10-04 9 views
0

私は(this oneに似て)非常に好奇心旺盛なケースを持って表示されます。コンテンツはTXTファイルからUITextView.textにロードされます。これは、viewDidLoadで発生します。UITextView: <p></p>が、私はプログラム的にロードのUIView(NIB)に位置しており、簡単なUITextViewを持っている:私はそれを手動で移動した後、テキストのみ

テキストが数行しかなく、スクロールする必要がない場合はすべて問題ありません。ただし、テキストがUITextViewより長い場合、テキストは表示されません。私が画面に触れてスクロールしようとするときにだけ、テキストが突然現れるでしょう。

私は、テキストが表示されるのviewDidLoadで取得するには、このナッジを試してみました:

textView.contentOffset = CGPointMake(0.0, 1.0); 
textView.contentOffset = CGPointMake(0.0, 0.0); 

しかし、それは動作しません。私は[super viewWillAppear]などにも必ず電話しましたが、もう一度、運はありません。私のビューを初期化して、viewDidAppearでテキストを読み込むと、ちょっと役立つ唯一のことです。しかし、私がスクロールしない限り、UITextViewの最後の部分は表示されません。

UITextViewがこのように動作する理由は何ですか?私は手がかりがなく、これが何日間も私を抱きしめているので、どんな提案にも感謝しています。

EDIT:

私は今、この奇妙な行動を引き起こしているものを知っているが、これはすることができ、なぜ私はまだ知りません。 PageViewが表示されるViewControllerがアニメーション化され、viewControllerを画面にスライドさせる単純なアニメーションブロックです。私がアニメーションを取り除くと、すべてが問題ありません。私はなぜ、どういうわけか分からない。

ここにもう少しコードがあります(わかりやすくあれば分かりません)。これはビューを初期化するviewControllerです。

- (void)viewDidLoad { 

    [super viewDidLoad]; 

    if (self.currentPageView == nil) { 

     NSLog(@"createPage..."); 
     PageView *cpv = [[PageView alloc] init]; 
     self.currentPageView = cpv; 
     [cpv release]; 

     [self.view addSubview:currentPageView.view]; 

    }  

    [self loadContentsFromTXTFile]; 

    [currentPageView setTitle:title 
         date:date 
         text:text ]; 

} 

これは、ページビュークラスのINITである:

-(id)init { 

    //self = [super initWithNibName:nil bundle:nil]; 
    self = [super initWithFrame:CGRectZero]; 

    if (self) { 

     [[NSBundle mainBundle] loadNibNamed:@"PageView" owner:self options:nil]; 
     [self addSubview:self.view];  

    } 

    return self; 

} 

-(void)setTitle:(NSString *)title date:(NSString *)date text:(NSString *)text { 

    UILabel *mytitle = [self titleOfPage]; 
    [mytitle setText:title]; 

    UILabel *mydate = [self dateOfPage]; 
    [mydate setText:date]; 

    UITextView *mytext = [self textOfPage]; 
    [mytext setText:text]; 


} 
+1

ナビゲーションコントローラを使用してビューコントローラを画面にアニメーション表示していませんか? (ナビゲーションバーをナビゲーションコントローラを使用するために表示する必要はありません)。 – ader

+0

いいえ - 私はそうではありません - それは答えでしょうか?私は自分ですべてをコード化すると思ったが、ナビゲーションコントローラは悪い考えではないだろうと思う。 –

+1

それはあなたが懸念している場合Interface Builderを使用する必要はありません - あなたはプログラムでナビゲーションコントローラを作成することができます。 – ader

答えて

0

[OK]を、私は、単に問題のUITextViewが発見されたビューを処理するためにUINavigationControllerを使用してこれを解決しました。私はまだこれが問題を引き起こした理由を理解できませんが、この問題が発生した場合、UIViewControllerの構造とUITextViewをリフレッシュ(またはリフレッシュしない)の方法に問題がある可能性があります。

関連する問題

 関連する問題