2011-12-05 6 views
0

標準の削除編集スタイルを使用するUITableViewがあります。削除ボタンが表示されるようにセルのテキストのサイズを変更したい。編集モードでUITableViewCellの[削除]ボタンの起点(x、y)を特定するにはどうすればよいですか?

サイズ変更されたテキストの適切なフレームサイズを計算できるように、標準の[削除]ボタンの原点を特定するにはどうすればよいですか?

編集: これは、UILabelを含むサブクラス化されたUITableViewCellです。ラベル内のテキストの量は行ごとに異なるため、セルの高さは各行ごとに計算され、セルが作成されるとそれに応じてUILabelフレームが調整されます。

コメントに記述されているようにセル内のUILabelのautoresizingMaskを調整しようとしましたが、編集(削除)モードがアクティブなときにラベル内のテキストのレイアウトに影響しません。

EDIT#2: ここで要求されるように、いくつかの画面キャプチャがあります。

a)UILabelコントロールを使用した表のセルです。各セルの高さは、テキストの量に基づいて動的に計算されます。編集モードで編集コントロール(赤い円)画面の右側オフテキストを押している表示されるが開始

Before edit

B)。

Edit control displayed, text off screen

C)編集コントロールを選択し、削除ボタンが表示されているときに、テキストに重なります。

Delete button overlaying text

目的は、開始を編集するときに「b)の」すべてのテキストに対応するために、高さをテキスト領域(UILabel枠を)持っている、それは幅だ削減し、向上させることです。 「削除」ボタンが表示されているときは、テキストの高さは同じに保たれ、適合しないテキストは切り捨てられ、エリプシス「...」が表示されます。

+0

可能な複製[UITableViewCell削除スタイルで編集コントロールのサイズを決定する方法は?](http://stackoverflow.com/questions/8391092/how-do-i-determine-the-size-of編集セル内の編集コントロール) –

+0

編集コントロール(左の赤い丸)は削除ボタン(右)とは異なります。それは私が投稿した別の質問です。 – ChrisP

+0

'UITableViewCell'の' textLabel'と 'detailTextLabel'プロパティを使用していますか、またはセルの私的なサブビューにテキストを表示していますか? –

答えて

1

セルのコンテンツビューにサブビューを追加して、サイズ変更マスクを適切に設定すると、これは自動的に行われます。

マスクのサイズを変更すると、インタフェースビルダーのサイズインスペクタに表示されるオプションを意味します。たとえば、セルを左右のマージンから固定したままにし、幅を拡大または縮小させたい場合は、マージンと幅のバーを変更して、プレビューにラベルの拡大と縮小が表示されるようにします同じサイズだが動き回っている。私は特定の外観を覚えていないと私は現時点で私のマックではない、申し訳ありませんが、それはかなり明らかにする必要があります。

+0

セルがnibファイルから作成され、上の質問の編集に示されているように、編集コントロールが途切れています。 「サイズ変更用マスクを設定する」ということを詳しく説明してください。ありがとう – ChrisP

+0

彼はおそらく['autoresizingMask'](http://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3 -SW6)。 –

+0

編集した質問を設定します。自動サイズ変更マスクを変更しても、編集モードのラベルのテキストには影響しません。 – ChrisP

関連する問題