10

iPhoneのNotes Appのような機能を提供する必要があるアプリで作業しています。最初のスクリーンショットに示されているように、最初はコンテンツが開始する前にノートがタブを離れます。私も同じことをしたかったので、 (UITextView の) Left Content inset を 25 に設定すると、スクリーンショット 2 のように表示されます。画像もずれて見える場合があります。画像を背景に設定しました。この問題を解決する方法がわかりません。

また、UITextview のサブビューとして画像を追加してみましたが、ノート アプリのようにスクロール (行の画像) している間は、行が繰り返されません。

メモアプリ 私が得る出力

次のコードで Textview の背景を設定しています。

[textView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"line_image.png"]]];

私が間違っているか、または目的の出力を得るために余分な努力が必要かどうか教えてください。

ありがとう

4

2 に答える 2

3

UITextView は UIScrollView サブクラスであるため、関連するすべてのデリゲート メソッドを使用できます (例: scrollViewDidScroll:)。そのメソッドでカスタム背景を調整できます。

Dr.Touch ブログに、Notes アプリのインターフェイスの再作成に関する非常に優れた投稿があります。そこから、それがどのように行われるかについての一般的なアイデアを得ることができます。基本的には、テキスト ビューの背後に背景を描画し、テキスト ビューのデリゲート メソッドで調整するカスタム ビューを追加し、その 'contentSize' プロパティで KVO を使用します。

于 2012-06-07T12:15:59.483 に答える
2

@Dinesh gave nice solution but it doesn't sound to be generic as I want to use image of lines instead of drawing them. Image has some special effects that can not be achieved by drawing. So to solve it I created a table view below the textview keeping textview's background transparent. Now just added the image of line to my tableview's custom cell and set content offset of UItableview same as of the scrollview (subview of text view ,refering to the answer of @Vladimir ) .

And used the following code to scroll my tableview with scrolling the textview and got the desired output.

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{           
    tableView.contentOffset =scrollView.contentOffset; 
}

Keeping my tableview's number of rows at a very large number.

PS: instead of setting the content inset of textview, i set its frame's X position and decreased the width relaively.

于 2012-06-07T13:48:26.913 に答える