2010-12-27 10 views
0

viewcontrollerに2つのtextviewがあります。最初のテキストビューは編集できませんが、2番目のテキストビューは編集可能です。私は、キーボードが現れたときに、両方を同じ位置とサイズでスクロールさせたいと思っています。私は両方のテキストビューのベースとしてUIScrollViewを使用しなければならないと思う。そして、私はxibにUIScrollViewを追加します(テキストビューのボットもxibで作成されます)。この階層あれば、これは絵です:viewDidLoadメソッドで2 UITextviewのスーパービューとしてUIScrollViewを追加しました。ビューをスクロールすることはできません。

alt text

、私はこのコードを追加します

- (void)viewDidLoad { 
[super viewDidLoad]; 

[scrollTextView addSubview:lineNumberTextView]; 
[scrollTextView addSubview:_codeTextView]; 

[lineNumberTextView bringSubviewToFront:scrollTextView]; 
[_codeTextView bringSubviewToFront:scrollTextView]; 

}

をが、その後、私は何かをスクロールすることはできません。私がしなければならないこと?

UPDATE

アドバイスのため THXマックが私に与えたように、この私のコードの後、いくつかのアドバイスです:

- (void)viewDidLoad { 
[super viewDidLoad]; 

scrollTextView.showsVerticalScrollIndicator = YES; 
scrollTextView.showsHorizontalScrollIndicator = YES; 
scrollTextView.scrollEnabled = YES; 

_codeTextView.showsHorizontalScrollIndicator = NO; 
_codeTextView.showsVerticalScrollIndicator = NO; 
_codeTextView.scrollEnabled = YES; 
_codeTextView.tag = 0; 
_codeTextView.delegate = self; 

lineNumberTextView.showsVerticalScrollIndicator = NO; 
lineNumberTextView.showsHorizontalScrollIndicator = NO; 
lineNumberTextView.scrollEnabled = YES; 
lineNumberTextView.tag = 1; 
lineNumberTextView.delegate = self; 

}

ちょうど_codeTextViewスクロール、lineTextVew STILをスクロールしませんでした...誰かがなぜ知っていますか?

答えて

0

インターフェイスビルダで2番目のテキストビューのユーザー対話が有効になっていることを確認します。

+0

第1のテキストビューを編集できないようにし、第2のテキストビューを編集可能にしたい場合はどうすればいいですか?アドバイスはありますか? –

+0

私は、このページの例のように、xibからEmbed Object Inを使用しようとしています。http://stackoverflow.com/questions/1521308/how-to-add-uiscrollview-to-interface-builder、しかし、 "Embed Object In"私のxibで選択することはできません、あなたはなぜ知っていますか? –

0

あなたは両方のテキストフィールドにいくつかのタグ値を与え、デリゲートメソッドでは、必要なものはユーザーインタラクションを有効(false、true)にします。

+0

私はサンプルコードを教えてくれますか? –

+0

私はそうする必要があります...すべてのテキストビューにタグを与え、userinteractionenabled:YESを両方ともオフに設定します。スクロールしている2番目のものだけ、1番目はまだスクロールしていません –

関連する問題