2012年3月27日火曜日

UITextViewでキャレットの位置を先頭、後尾に移動する

UITextViewのキャレット位置を先頭に移動したり、後尾に移動するメソッドをつくりました。

@interface UITextView (extend)
// キャレット位置の設定
typedef enum {
    UICTextViewCaretPositionHead = 0, // 先頭
    UICTextViewCaretPositionTail  // 後尾
}UICTextViewCaretPositionType;
- (void)setCaretPosition:(UICTextViewCaretPositionType)_caretPositionType; 
@end
   
@implementation UITextView (extend)
- (void)setCaretPosition:(UICTextViewCaretPositionType)_caretPositionType
{
 // キャレットを移動する為の選択範囲情報
 const NSRange rangesAtCaretPosition[] = {
            {0, 0},     // 先頭
            {[self.text length], 0} // 後尾
           };
 // キャレットを移動
 self.selectedRange = rangesAtCaretPosition[_caretPositionType]; 

}

@end
  

※注目してほしいところ
  1. データとロジックを分けるという考え方に基づいて設計している。
  2. あれ?if文もswitch文も使われてないYO!
これanalyzeするとワーニングがでますね。orz


新しく記事を書いたよ
http://yskmanabe.blogspot.jp/2012/04/xcodeanalyze-interface-uitextview.html
このエントリーをはてなブックマークに追加

2012年3月26日月曜日

Objective-CでURLをaタグで囲む

ツイート内のURLをaタグで囲みたいよー
ということで囲んでくれるメソッドを作成しました。


あれ?pre使ってるのにうまく表示されない部分が。。。
<¥/%@>
の¥は削除してください。

正規表現を使って置換しています。
メソッド名がしっくりこないのは気のせいだろうか。。。
このエントリーをはてなブックマークに追加