从ViewWillAppear方法调用时,Cursor Location的NSLog语句显示错误的值

时间:2012-05-03 09:40:57

标签: iphone ios ios4

我的应用中有一个textview,所以要在我尝试this url的当前光标位置插入文字 哪个工作正常。

现在我遇到一个问题。

  

当我试图在里面调用aCenterBtnClicked()方法时   viewWillAppear()函数,它显示为当前位置   “2147483647位置”(NSLog(@“%d location”,   myCursorPosition.location); )。

     

但是当我隐藏aCenterBtnCliked()方法的函数调用时   viewWillAppear()方法,它将当前光标位置打印为   “0位置”(NSLog(@“%d location”,myCursorPosition.location);)。

我想知道在viewWillAppear函数中调用aCenterBtnCliked()方法时光标位置的变化原因

如何解决这个问题?

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

    [self aCenterBtnClicked];

}

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

  myCursorPosition = [self.myTextView selectedRange];

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

}

1 个答案:

答案 0 :(得分:0)

因为您在按钮中设置了当前位置,所以只有当您在viewwillappear中放入相同代码时它会发生变化的原因也会发生变化。 你可以直接这样打电话。

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