【发布时间】:2013-11-26 17:44:36
【问题描述】:
我正在开发一个应用程序,该应用程序将依赖一个主视图控制器,底部有一排按钮来显示带有信息的其他视图。从其中一个按钮中,我想呈现一个显示歌曲标题列表的表格视图。这个应用程序播放声音文件,我希望用户能够点击一个按钮,然后选择一首歌曲作为默认歌曲播放。我想用 uiview 动画呈现这个 tableview,我希望它是半透明的并且只填充屏幕的一部分。我尝试创建一个 UITableViewController,然后从主视图控制器中呈现它,如下所示:
UITableViewController *tableView = [[UITableViewController alloc]init];
[self presentViewController:tableView animated:YES completion:nil];
这提供了一个视图控制器,但它会填满整个屏幕,这不是我想要的。并且在实例化时更改视图控制器的框架似乎没有效果。我可以将 UITableView 动画到主视图控制器的视图中,但是我不太确定谁应该是委托和数据源。有什么建议?提前致谢。
【问题讨论】:
-
你想要什么类型的动画?听起来您应该在视图(表格)而不是新控制器中制作动画。
-
我只是使用 [UIView animateWithDuration:] 为视图设置动画。如果我只使用视图,动画效果很好,但我不确定是否可以通过这种方式阻止 UITableView,因为它需要数据源和委托。当我将表格视图动画化到视图中时,我可以将主视图控制器设置为委托和数据源吗?
-
是的,当然可以。任何采用 UITableViewDataSource 协议的对象都可以作为表格数据源。
-
“prevent”应该是“present”。好吧,我会试一试。我想我只是让自己感到困惑,因为我以这种方式呈现了一个表格视图。如果我成功了,我会发布代码。谢谢
标签: ios iphone uitableview uiview uiviewcontroller