【问题标题】:Rearranging buttons in an iPhone alert?重新排列 iPhone 警报中的按钮?
【发布时间】:2010-11-01 08:50:17
【问题描述】:

是否可以让警报视图按钮彼此上方而不是彼此相邻?

【问题讨论】:

    标签: ios objective-c iphone xcode cocoa-touch


    【解决方案1】:

    没有自定义(子类化) UIAlertView 类。如果你想走这条路,你必须改变 UIAlertView 的 layoutSubviews 方法来将它的按钮放在不同的位置。

    【讨论】:

      【解决方案2】:

      如果有足够多的按钮或文本太长,按钮将显示在彼此之上而不是彼此相邻。 UIKit 为你做决定,没有办法控制它。

      【讨论】:

      • 当我尝试这个时,第二个按钮没有移动.. 它只显示尽可能多的文本并切断其余部分。该按钮没有移动到另一个上方。
      【解决方案3】:

      如果您想冒险,或者您的目标不是 AppStore,您可以使用 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]; 
       } 
      

      【讨论】:

      • 他们真的会拒绝使用未记录的 API 方法的应用吗?还是他们根本不保证任何特定的结果或未来的兼容性?我一直对这个(以及其他各种)未记录但很有帮助的 API 方法感到好奇。
      • 他们会直接拒绝它。它发生在我和许多其他开发人员身上。如果您想继续走这条路,就必须接受应用商店的事实。
      • 现在甚至还有一个应用程序上传工具,我怀疑它会在上传之前进行此类测试,以便更快地拒绝:-)
      • 这是很久以前写的。我同意,除非你不是针对 App Store,否则不要去那里。
      【解决方案4】:

      @Lucas - 是的,他们真的会拒绝在 UIAlertView 上调用 setNumberOfRows: 的应用程序。我的应用经历了多次更新,直到最终被拒绝并因此更新。

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

      【讨论】:

      • @alan-为什么他们会拒绝使用 [alert setNumberOfRows:3] 的应用程序;这是一个未记录的 API 调用吗?
      【解决方案5】:

      你可以使用 UIActionSheet

      看看这里的示例 :)

      http://www.timeister.com/2010/06/objc-show-alert-iphone/


      祝你好运,

      阿德里安

      【讨论】:

      • UIActionSheet 不会从屏幕的“底部”向上滑动吗?有没有办法让它出现在屏幕中间,比如 UIAlertView?
      【解决方案6】:

      我曾经遇到过同样的问题,

      这是我发现的完美解决方案 UIAlertview 与两个按钮堆叠

      https://github.com/TomSwift/TSAlertView

      【讨论】:

        猜你喜欢
        • 2016-11-21
        • 1970-01-01
        • 2013-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-02-26
        • 1970-01-01
        相关资源
        最近更新 更多