Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在iPhone警报中重新排列按钮?_Ios_Objective C_Iphone_Xcode_Cocoa Touch - Fatal编程技术网

Ios 在iPhone警报中重新排列按钮?

Ios 在iPhone警报中重新排列按钮?,ios,objective-c,iphone,xcode,cocoa-touch,Ios,Objective C,Iphone,Xcode,Cocoa Touch,是否可以将警报视图按钮置于彼此上方而不是相邻位置?必须自定义UIAlertView类(子类化)。如果您想选择此路线,则必须更改UIAlertView的布局子视图方法,将其按钮放置在不同的位置。如果按钮足够多或文本太长,按钮将显示在彼此上方,而不是相邻。UIKit为您决定,无法控制。如果您想冒险,或者您不是针对应用商店,可以在UIAlertView上使用未记录的setNumberOfRows方法 - (void) showAlert { UIAlertView *alert = [[U

是否可以将警报视图按钮置于彼此上方而不是相邻位置?

必须自定义UIAlertView类(子类化)。如果您想选择此路线,则必须更改UIAlertView的
布局子视图
方法,将其按钮放置在不同的位置。

如果按钮足够多或文本太长,按钮将显示在彼此上方,而不是相邻。UIKit为您决定,无法控制。

如果您想冒险,或者您不是针对应用商店,可以在UIAlertView上使用未记录的setNumberOfRows方法

- (void) showAlert 
{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Your title" 
                          message:@"Your message" delegate:self  
                          cancelButtonTitle:nil 
                          otherButtonTitles:@"One", @"Two", @"Three", nil]; 
    [alert setNumberOfRows:3]; 
    [alert show]; 
 } 

@卢卡斯-是的,他们会拒绝在UIAlertView上调用setNumberOfRows:的应用程序。我的应用程序通过了多次更新,直到他们最终因为这个原因拒绝更新


@Martin-它实际上似乎截断了不合适的文本。

您可以使用UIActionSheet

看看这里的样品:)


祝你好运


阿德里安

我曾经遇到过同样的问题

这是我发现的,完美的解决方案,有两个按钮堆叠在一起


当我尝试此操作时,第二个按钮没有移动。。它只显示尽可能多的文本,并将其余的部分剪掉。按钮没有移动到另一个按钮的上方。他们真的会拒绝使用未记录API方法的应用程序吗?或者他们只是不保证任何特定的结果或未来的兼容性?我一直对这个(以及其他各种)未记录但有用的API方法感到好奇。他们会断然拒绝它。这发生在我和许多其他开发人员身上。如果你想继续沿着这条路走下去,你必须接受应用商店的事实。现在甚至有一个应用上传工具,我怀疑它在上传之前会做这些测试,让你更快地拒绝:-)这是很久以前写的。我同意,除非你不是针对应用商店,否则不要去那里。@alan为什么他们会因为使用[alert setNumberOfRows:3]而拒绝该应用;这是一个未记录的API调用吗?UIActionSheet不是从屏幕的“底部”向上滑动吗?有没有办法让它出现在屏幕中间,比如UIAlertView?