を使用して、消えるアニメーションでフェードアウトするようにアルファを 0 にUIView animateWithDuration
設定しています。ただし、フェードすると、フェードする前に各セルに黒くなる領域があるUITableView
ことに気付きました。UITableView
画像がある場合、その後ろの領域全体がフェードしながら黒くなり、通常は左右両方の端のはめ込みスペースが黒くなります。サブビューのすべての背景色を白に設定しようとしましたが、UITableViewCell
まだ機能しません。
このテーブルビューは UITableViewController に埋め込まれていません。代わりに、メニューとして使用している別のフローティング tableView です。
以下は、フェード時に何が起こるかの例です。
これも私が使用しているコードです
[UIView animateWithDuration:ImageViewControllerBarsAnimationDuration delay:0 options: UIViewAnimationOptionAllowUserInteraction animations:^
{
if (self.menu.superview)
{
self.menu.alpha = 0;
}
}
completion:^(BOOL finished)
{
if (self.menu.superview)
{
[self.menu removeFromSuperview];
self.menu.alpha = 1;
}
}];
+
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"Cell";
UITableViewCell *tableViewCell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (tableViewCell == nil)
{
tableViewCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] autorelease];
}
[[tableViewCell textLabel] setFont:[UIFont fontWithName: @"Helvetica-Bold" size: 17]];
[[tableViewCell textLabel] setText: [self.menuItems objectAtIndex:0]];
[[tableViewCell imageView] setImage: [self.menuItems objectAtIndex:1]];
return tableViewCell;
}