0

returnまたはをUITableView使用する編集モード内で作業を行っています。editingStyleForRowAtIndexPathUITableViewCellEditingStyleInsertUITableViewCellEditingStyleDelete

それはかなりうまく機能しますが、成功しなかったことが1つあります。ビットごとの or 演算子を使用して、次のことを試しました。

return UITableViewCellEditingStyleInsert|UITableViewCellEditingStyleDelete;

戻るUITableViewCellEditingStyleInsertUITableViewCellEditingStyleDelete同時に戻ることを望んでいます。

なぜそれが不可能なのかわかりません。セルを削除できるようにしたいだけでなく、前に別のセルを挿入できるようにしたいということです。しかし、現実はどうですか?私はいくつかのポイントを逃していますか?

4

1 に答える 1

0

これは仕様によるもので、セルは 1 つの編集スタイルしか持つことができません。また、コントロールは同じ場所に配置されます。また、列挙型の定義方法:

typedef enum {
    UITableViewCellEditingStyleNone,
    UITableViewCellEditingStyleDelete,
    UITableViewCellEditingStyleInsert
} UITableViewCellEditingStyle;

UIViewAutoResizingMaskfromなど、一部のオプション列挙型のように、ORing 用に設計されていませんUIView

enum {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;
于 2013-01-15T14:29:31.900 に答える