1

我正在开发一个应用程序,该应用程序将依赖一个主视图控制器,底部有一排按钮来显示带有信息的其他视图。从这些按钮之一,我想展示一个表格视图,它显示了一个歌曲标题列表。这个应用程序播放声音文件,我希望用户能够点击一个按钮,然后选择一首歌曲作为默认歌曲播放。我想用 uiview 动画呈现这个 tableview,我希望它是半透明的,并且只填充屏幕的一部分。我尝试创建一个 UITableViewController ,然后从主视图控制器中呈现它,如下所示:

UITableViewController *tableView = [[UITableViewController alloc]init];
[self presentViewController:tableView animated:YES completion:nil];

这提供了一个填充整个屏幕的视图控制器,这不是我想要的。并且在实例化时更改视图控制器的框架似乎没有效果。我可以将 UITableView 动画化到主视图控制器的视图中,但是我不太确定谁应该是委托和数据源。有什么建议么?提前致谢。

4

1 回答 1

0

在将表格视图添加为子视图时,您可以设置其帧大小或边界,并以任何您喜欢的动画显示它。是的,您可以在添加时将委托和数据源设置为 self 。

我使用:(在 viewDidLoad 中)

 self.tableView.backgroundColor = [UIColor clearColor];
    self.tableView.opaque = NO;

然后在 cellForRowAtIndexPath 中:

cell.textLabel.backgroundColor = [UIColor clearColor];
    cell.detailTextLabel.backgroundColor = [UIColor clearColor];
    cell.backgroundColor = [UIColor colorWithWhite:1 alpha:.55];

不确定这是否是您想要的,但它使您可以选择让一切变得清晰。(显然 alpha 会因您的情况而改变,但这会衡量细胞的不透明度)

于 2013-11-14T05:07:59.113 回答