代码之家  ›  专栏  ›  技术社区  ›  spd

UIALertView自定义

  •  0
  • spd  · 技术社区  · 15 年前

    我正在开发一个iPhone应用程序,我想在其中使用定制的警报表。需要自定义,因为我想为警报表按钮设置图像,更改这些按钮的大小等。

    我做了以下事情:

    1. 用我想要的自定义控件创建了UIView。
    2. 创建并显示UIAlertView
    3. 在UIAlertView(UIAlertViewDelegate)的委托方法中,即

      - (void)willPresentAlertView:(UIAlertView *)alertView
      

      我正在删除UIAlertView的所有子视图,并将自定义视图添加为子视图。

    到现在为止一切都很好。由于我使用了自定义按钮,因此需要通过调用UIAlertView上的dismisswitchclickedbuttonindex:animated:来显式删除按钮的Action方法中的警报表。 即使UIALertView被解除,也需要大约0.5秒才能解除。 有人能帮我解决这个延迟解雇的问题,或者用其他方法定制警报视图按钮。

    谢谢和问候, 迪帕

    3 回复  |  直到 15 年前
        1
  •  0
  •   Tim Cooper    14 年前

    我只要答应就行了 dismissWithClickedButtonIndex:animated :呼叫,即 [alertView dismissWithClickedButtonIndex: 0 animated: YES] . 最初我把旗子传成“否”,但是,我不知道如果我们把动画旗子传成“是”会花更少的时间。 有人知道吗?

        2
  •  0
  •   Tim Cooper    14 年前

    而不是这样做

    /*
    1. Created UIView with customized controls that I wanted.
    2. Created and displayed UIAlertView
    3. In the delegate method of UIAlertView (UIAlertViewDelegate)
    */
    

    执行以下操作:

    创建这样的类:

    @interface CustomAlertView  : UIAlertView
    {
      //For ex:
    
       UIButton *myCustomButton;
    //and other custom controls
    }
    

    按以下方法实施:

    -(id)init
    {
    
    }
    

    在上述方法中使用:

    [self addSubView: myCustomButton];
    

    我只是提出了这个想法。我有密码,但现在还没有和你分享。 如果你不能实现上述我将稍后提供。

    谢谢。

        3
  •  0
  •   Shardul Patel    9 年前

    这是可以解决UIAlertView定制问题的库。它也可以用作UIActionSheet。它有很好的定制选项。

    https://github.com/Codigami/CFAlertViewController

    推荐文章