2

右側にウィジェットUITableViewを持つカスタム プロトタイプ セルを準備しています。ユーザーが行を削除できるようにしたいと考えています。UISwitch

削除ボタンが表示されたときに、次のように に重なるという事実を除いて、すべて問題ありませんUISwitch

UISwitchに重なっているボタンを削除

UISwitch削除ボタンが表示されたときに左にシフトすることは可能ですか?


エピローグ

簡潔にするためにUISwitch、「削除」ボタンが表示されたときに位置を移動しないことにしましたが、「削除」ボタンがなくなったら元に戻して非表示にします。

だから、@geoの提案(ありがとう)によると、私は(非常に簡単に)この方法でそれを管理しました:

UITableViewCellの ' サブクラス.mファイルでは:

- (void)willTransitionToState:(UITableViewCellStateMask)state
{
    [super willTransitionToState:state];
    if (state & UITableViewCellStateShowingDeleteConfirmationMask) {
        activationSwitch.hidden = YES;
    }
    else {
        activationSwitch.hidden = NO;
    }
}
4

2 に答える 2

0

非常によく似た問題に遭遇し、修正しました。Interface Builder のカスタム テーブルビュー セルの UI 要素には、適切な自動サイズ変更マスクが必要です (ここでは自動レイアウトを行わないと仮定します)。

私の場合、UI 要素ごとに Left 制約を追加する必要がありました (Size Inspector の View セクションにある小さな自動サイズ変更画像/アニメーションを参照してください)。

左の「バー」を追加すると、うまくいくはずです。

于 2015-04-26T03:20:04.190 に答える