Modal UITableView对话框

时间:2011-03-10 11:26:10

标签: iphone objective-c xcode uitableview

是否有选项可以在屏幕中间显示包含uitableview的模式对话框,其大小为200x200,而父屏幕的所有其他部分都会变暗?

3 个答案:

答案 0 :(得分:0)

在iPhone上,你无法使用呈现模态对话框控制器的标准方式来实现这一点,因为假设你的模态对话框将完全覆盖旧内容,并且旧内容不会在你的模态下面绘制(所以使你的模态对话部分透明无济于事。)

获得效果的一种方法是通过在屏幕中心添加UIView作为子视图来增强当前显示的视图(对于您的实际模态内容),在下面添加另一层,部分透明度和黑色“底层”UI显得更暗。

另请参阅此相关问题/答案:Transparency for top UIView not working

答案 1 :(得分:0)

使用您想要的坐标和大小创建一个UIView,并在此处激活表格视图。

然后将其添加为视图上的子视图。有点像这样。

UIView *view=[[UIView alloc] initWithFrame:CGRectMake(50,50,200,200)];

UITableView *tbl=[[UITableView alloc] initWithFrame:CGRectMake(50,50,200,200)];

tbl.delegate=self;
tbl.dataSource=self;
[view addSubView:tbl];
[self.view addSubView:view];

答案 2 :(得分:0)

是的,为什么不呢?创建一个新的UIViewController并在其中嵌入你的uitableview。您将需要对视图进行一些自定义绘制,可能会添加一个额外的黑色uiview,可能有50%的透明度作为backbround,并根据您的喜好定位tableview。

使用presentModalViewController:在当前uiviewcontroller上设置动画,最后应该被新的模态视图阻止。