0

UITableView に内側の影の効果を追加する必要があります。UIViewレイヤーに内側の影を追加することに関するこの役立つ投稿を発見しました:UIViewレイヤーの内側の影の効果?

UITableViewのセルが上に表示され、影を覆っているため、UITableViewでこの手法を使用しようとすると問題が発生します。

UITableView をサブビューとして UIView (内側の影付き) に追加しても効果はありませんでした。

私の UITableView は、暗い灰色の背景を持つ UIViewController のビューを中心にしています。UITableView に内側の影を与えると、テーブル ビューのベゼルのような効果が背景に与えられます。内側の影なしで私が現在持っているもの

UITableView で探している効果をどのように達成するのが最善でしょうか?

4

2 に答える 2

2

私自身の質問に答える:

最終的にUIViewをサブクラス化し、次の投稿を使用してdrawRect関数を実装しました:UIViewレイヤーの内部シャドウ効果?

次に、次のメソッドを実装することにより、すべてのタッチイベントを基になるViewControllerに転送するように新しいUIViewサブクラスに指示しました。

-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
    return NO;
}

最後に、新しいビューをサブビューとしてメインビューに追加し、背景を透明に設定して、tableViewの上に配置し、前面に表示しました。

- (void)viewDidLoad {
    InnerShadowView *shadowView = [[InnerShadowView alloc] init];
    [self.view addSubview:shadowView];
    shadowView.frame = _tableView.frame;
    shadowView.backgroundColor = [UIColor clearColor];
    [self.view bringSubviewToFront:shadowView];
}
于 2012-09-28T14:43:13.757 に答える
0

この投稿は、あなたが探しているものを正確にカバーしていると思います:

http://cocoawithlove.com/2009/08/adding-shadow-effects-to-uitableview.html

于 2012-09-26T13:13:52.367 に答える