6

区切り線が非表示のUITableViewがあり、セルをドラッグすると、境界線が上下に出てくるため、影が何らかの形で表示されます。これを隠す方法は?例を参照してください: エミュレータのスクリーンショット

まことにありがとうございます!

4

8 に答える 8

4

だから、私は答えを持っています.UITableViewのメソッドをサブクラス化するだけです:

- (void) didAddSubview:(UIView *)subview
{
    [super didAddSubview:subview];

    if([subview.class.description isEqualToString:@"UIShadowView"]) {
        subview.hidden = YES;
    }
}
于 2013-01-30T18:45:34.540 に答える
4

NoShadowTableView.m

#import "NoShadowTableView.h"

@interface NoShadowTableView ()
{
    //  iOS7
    __weak UIView* wrapperView;
}

@end

@implementation NoShadowTableView

- (void) didAddSubview:(UIView *)subview
{
    [super didAddSubview:subview];

    //  iOS7
    if(wrapperView == nil && [[[subview class] description] isEqualToString:@"UITableViewWrapperView"])
        wrapperView = subview;

    //  iOS6
    if([[[subview class] description] isEqualToString:@"UIShadowView"])
        [subview setHidden:YES];
}

- (void) layoutSubviews
{
    [super layoutSubviews];

    //  iOS7
    for(UIView* subview in wrapperView.subviews)
    {
        if([[[subview class] description] isEqualToString:@"UIShadowView"])
            [subview setHidden:YES];
    }
}

@end
于 2013-12-11T08:53:30.510 に答える
1

デフォルトの UITableView 並べ替えコントロールを使用して、同様の問題に直面していました。そこで、この外部のサードパーティ ライブラリを使用して問題を解決しました。

https://github.com/shusta/ReorderingTableViewController

お役に立てれば

于 2013-01-30T15:46:10.837 に答える