1

私は自分のUITableView使用に関するサブビューを追加しました:

TransparentViewController *tvc =
        [[TransparentViewController alloc] 
                initWithNibName:@"TransparentViewController" bundle:nil];
[self.view addSubview:tvc.view];

私のペン先には、UIImageViewテキストと透明な背景を持つが含まれています。

detailView初めてテーブルをロードするときに、テキストの下に表示される情報の簡単な説明を提供するサブビューを表示します。本当にうまくいきます。

私がやりたいのは、基になるテーブルのアルファを変更して、それが調光されるが、オーバーレイサブビューのアルファに影響を与えないようにすることです。私が使用する場合:

[self.view setAlpha:(CGFloat)];

オーバーレイも暗くします。精神的な障害があるようです。

4

1 に答える 1

1

アルファを変更すると、サブビューにも影響します。tvc.viewはself.viewのサブビューであるため、当然影響を受けます。

これを試してみませんか。tvc.viewに別のビューを配置し、このビューをこのビューの後ろに送信します。

(UIView*) back = [[UIView alloc] initWithFrame:CGFrameMake(...)];
back.backgroundColor = [UIColor grayColor]; // choose a color that you like;
back.alpha = 0.5; // whatever works for you
[tvc.view addSubview:back];
[tvc.view sendSubviewToBack:back];

この新しいビューのサイズとアルファを好きなように設定します。テーブルビューは、限られた範囲で表示されます。これにより、実行しようとしていることを実行できる場合があります。

これはtvcビューの一部であるため、そのビューを表示すると表示され、非表示にすると消えます。

于 2012-01-10T15:43:56.787 に答える