0

UITextViewにヘッダーを追加しようとしています。私が今持っているコードはヘッダーを追加します。これは最初は表示されますが、ユーザーがスクロールするとすぐに非表示になります(プルダウンして感触をリフレッシュします)。 UITextViewでテキストを通常より90ピクセル低く描画し、元の位置からテキストの上にヘッダーを描画することを検討しています。これはどのように行うことができますか?

現在私は持っています:

[self.textViewWithHeader addSubview:self.headerView];
self.headerView.center = CGPointMake(160,-50);
self.salesCopyTextField.contentOffset = CGPointMake(0,-90);

これはテキストの上にヘッダーを表示しますが、スクロールビューの境界によって切り取られます。

ご協力ありがとうございました!

4

4 に答える 4

1

UITableView結局、最初のセルがヘッダーであるプレーンを使用することになりました。2番目のセルには、の高さに一致するように動的に計算された高さのUITextViewが含まれていUITextViewます。UITextViewはスクロールを無効にしており、スクロールはそのままにしておきUITableView'sます。ユーザーがテキストビューをタップして編集すると、スクロールの奇妙な動作が発生しますが、それは大きな問題ではないと思います。

于 2012-04-26T13:01:02.607 に答える
1

Swift 3の使用:

let headerViewHeight: CGFloat = 30.0
let headerView = HeaderView(frame: CGRect(x: textView.bounds.origin.x, y: textView.bounds.origin.y - headerViewHeight, width: textView.bounds.size.width, height: headerViewHeight))
textView.addSubview(headerView)
textView.contentInset.top = headerViewHeight
于 2017-07-03T12:18:48.230 に答える
0

self.headerViewをself.textViewWithHeaderのサブビューにする必要があるのはなぜですか?代わりに、適切な場所にあるtextViewWithHeaderの親ビューにself.headerViewを追加します。

何かのようなもの

[self.view addSubview:self.textViewWithHeader];
self.headerView.frame = CGRectMake(self.textViewWithHeader.frame.origin.x, self.textViewWithHeader.frame.origin.y - self.headerView.frame.size.height, self.headerView.frame.size.width, self.headerView.frame.size.height);
[self.view addSubview:self.headerView];
于 2012-04-23T01:43:49.343 に答える
0

設定しcontentInsetないでcontentOffsetください。contentOffsetスクロール位置に影響するだけです。の適切な説明については、 WWDC2012セッションビデオcontentOffsetの「スクロールビューによるユーザーエクスペリエンスの向上」の冒頭を確認してください。

関連: UITextViewのヘッダービュー?

于 2012-07-01T21:59:31.077 に答える