2012-05-03 3 views
0

私のアプリでテキストビューを使用していますので、現在のカーソル位置にテキストを挿入しました。this url はうまくいきました。Cursor LocationのNSLogステートメントがViewWillAppearメソッドから呼び出すときに間違った値を示しています

ここで1つの問題が発生します。

Iは viewWillAppear()関数内aCenterBtnClicked()メソッドをコールしようとしたとき、それは "2147483647位置"(のNSLog(@ "%dの位置"、 myCursorPosition.location現在位置として表示);)。

しかし、私は からaCenterBtnCliked()メソッドの関数呼び出しviewWillAppear()メソッドを非表示にするとき、それは "0位置"( "%dの位置" @のNSLog(myCursorPosition.location)として現在のカーソル位置を印刷;)。

私はaCenterBtnCliked()メソッドを呼び出すときに、カーソルの位置が変化している理由は、この問題を解決するためにどのようにviewWillAppear機能に

を知りたいですか?あなたはボタンクリックであなたの海流の位置を設定しているので

(void)viewWillAppear:(BOOL)animated{ 
//----------------------------------- 

    [self aCenterBtnClicked]; 

} 

//=================================== 
-(void) aCenterBtnClicked{ 
//=================================== 

    myCursorPosition = [self.myTextView selectedRange]; 

    NSLog(@"%d location", myCursorPosition.location); 

} 
+0

この質問のフォーマットは私の目を傷つける。 – n00bProgrammer

答えて

0

は、同じコードを使用して、それがまた変更されますviewwillapperで置けば、それは変更される理由thatsの。 このように直接呼び出すことができます。

-(void)viewWillAppear:(BOOL)animated 
{ 
    myCursorPosition = [self.myTextView selectedRange]; 
} 
+0

でも、私はviewwilappearの下に "2147483647 location"と表示されるようにあなたのコードを印刷しようとしました。 plsは私に – user198725878

+0

これがどう起こるかを知らせます。メソッドが同じであるため、両方のメソッドが同じであれば、メインポイントはメソッド内にあり、出力は同じコードになります。再び。 – vishiphone

関連する問題