当前位置:  开发笔记 > 编程语言 > 正文

如何使用UITableView自定义UIAlertController,或者在Pages应用程序中是否有像此UI一样的默认控件?

如何解决《如何使用UITableView自定义UIAlertController,或者在Pages应用程序中是否有像此UI一样的默认控件?》经验,为你挑选了1个好方法。

我想实现UIAlertViewController这样的(参考:Pages和Keynote应用程序):

在此输入图像描述.

我已经实现了一个自定义的tableview,并通过模仿来呈现视图UIAlertViewController.但我无法实现与上面类似的用户界面.有没有可用的默认控制器?

-(void)share:(id)sender
{
    [self setModalPresentationStyle:UIModalPresentationCurrentContext];

    AlertViewController *renameCntrl = [self.storyboard instantiateViewControllerWithIdentifier:AlertTblViewidentifier];
    renameCntrl.optionViewDelegate = self;
    renameCntrl.providesPresentationContextTransitionStyle = YES;
    renameCntrl.definesPresentationContext = YES;
    [renameCntrl setModalPresentationStyle:UIModalPresentationOverCurrentContext];
    [self presentViewController:renameCntrl animated:YES completion:nil];
}

Leo Natan--r.. 9

UIAlertController有一个私有contentViewController属性,允许您将任何子UIViewController类设置为警报控制器的一部分.它适用于操作表或警报样式.您可以将内容视图控制器与其他警报操作混合.

这就是UIActivityViewControllerAirdrop预览控制器等的实现方式.

最好的做法是子类UIAlertController,并在任一 initWithNibName:bundle:或者viewDidLoad,使用setValue:forKey:设置contentViewController属性.不要忘记preferredContentSize为内容视图控制器设置.



1> Leo Natan--r..:

UIAlertController有一个私有contentViewController属性,允许您将任何子UIViewController类设置为警报控制器的一部分.它适用于操作表或警报样式.您可以将内容视图控制器与其他警报操作混合.

这就是UIActivityViewControllerAirdrop预览控制器等的实现方式.

最好的做法是子类UIAlertController,并在任一 initWithNibName:bundle:或者viewDidLoad,使用setValue:forKey:设置contentViewController属性.不要忘记preferredContentSize为内容视图控制器设置.


"最佳做法是对'UIAlertController'进行sublclass"......呃,不.从文档:"UIAlertController类旨在按原样使用,不支持子类化."
我绝不怀疑它有效.只是不会认为它是"最佳实践".我没有看到任何关于私有API的OP的提法,就是这样.
推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有