2010-08-26 34 views
0

我有一個默認不可編輯的UITextView,以便數據檢測器顯示地址和電話號碼。我希望能夠讓用戶在文本視圖中的任意位置單擊,以將其設置爲可編輯並將插入點放在該位置。不幸的是,我無法獲得插入點,只需一次輕敲即可編輯文本視圖(例如我正在嘗試完成的任務,請在Notes.app中使用URL創建一個新註釋。)設置水龍頭的UITextView選擇

我已經將子類UITextView並覆蓋- (void)touchesBegan:withEvent:,以便檢查文本視圖是否可編輯。如果不是,我啓用編輯。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if (!self.editable) 
    { 
    self.editable = YES; 
    } 

    [super touchesBegan:touches withEvent:event]; 
} 

我不確定但是從哪裏那裏繼續剛纔打電話becomeFirstResponder把插入點上方。

回答

0

聽起來像你可以設置屬性selectedRange把光標放在你想要的位置。但是,您需要從點(在您的touchesBegan方法中)轉換爲NSRange值。

另一種選擇可能是始終讓您的TextView可編輯,並使用UITextViewDelegatetextViewShouldBeginEditing方法。

但是,我從來沒有做過任何這樣的事情,所以請採取一些鹽的建議。