UIAlertView,如何在里面放置很多按钮?

Posted

技术标签:

【中文标题】UIAlertView,如何在里面放置很多按钮?【英文标题】:UIAlertView, how to place a lot of buttons inside it? 【发布时间】:2011-09-26 15:54:01 【问题描述】:

在 UIAlertView 中,如何在其中放置大量按钮? 我有一个警报视图,想在其中放置十个按钮,但是当它们到位时,它们不适合屏幕吗? 此外,我应该如何让按钮看起来有点不同,如何改变它们的大小?

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Фильтр по категориям" message:@"Выбирите категорию:" delegate:self cancelButtonTitle:@"Отменить" 
                                          otherButtonTitles:@"Все", @"Избранное", @"Тосты", @"Рассказы", @"Стихи", @"Анекдоты", @"Афоризмы", @"Объявления", @"Разное", nil];

英文:

UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @ "Filter by Category" message: @ "Choose a category:" delegate: self cancelButtonTitle: @ "Cancel"
                                       otherButtonTitles: @ "All", @ "Music", @ "Toast", @ "Stories", @ "Poems", @ "Jokes", @ "Aphorisms", @ "Announcements", @ "Other", nil];

【问题讨论】:

根据您的要求,最好实现自定义控件,并且不要将 UIAlertView 拉伸到超出其限制的范围。 看这里:***.com/questions/551530/customizing-uialertview/… 【参考方案1】:

您不应该在 UIAlertView 中放置十个按钮。

我不懂俄语,所以我不知道你的问题的背景。但是没有理由将这么多选择放在警报视图中。

【讨论】:

太糟糕了,我不是来自俄罗斯)我来自摩尔多瓦=)【参考方案2】:

Lorean 是正确的。

在 iPhone 上,要选择类别过滤器,您应该使用模态 ViewController(带有 presentModalViewController),它会翻转您的主视图,允许它们选择类别然后消失。

在 iPad 上,您应该使用 UIPopoverController。

【讨论】:

引用 Apple 的 HIG:通常,使用两键警报。两个按钮的警报通常是最有用的,因为人们最容易在两个选项之间进行选择。 ... 包含三个或更多按钮的警报比两个按钮的警报复杂得多,应尽可能避免。事实上,如果您发现需要为人们提供两个以上的选择,您应该考虑改用操作表。 既然你想要一个 UIAlertView 没有提供的外观,那只能说明你不应该使用它。【参考方案3】:

您可能想查看替代警报视图实现https://github.com/TomSwift/TSAlertView

但对自己说实话,如果有这么多按钮在警报视图上有意义的话。您还可以使用presentModalViewController 呈现自定义视图,您可以在其中拥有所有灵活性。

【讨论】:

以上是关于UIAlertView,如何在里面放置很多按钮?的主要内容,如果未能解决你的问题,请参考以下文章

带有很多按钮的 UIAlertView 似乎被破坏了 iOS 6

如何使 UIAlertView 上的按钮多行显示?

如何更改 UIAlertView 按钮的宽度?

如何设置 UIAlertView 的高度和宽度?

如何在 UIAlertView(iOS)中的其他两个按钮(堆叠)之间添加取消按钮

UIAlertView 按钮操作