2012-05-28 94 views
6

我有一个iPhone应用程序,并在按钮上单击它应该打开一个自定义警报视图通过显示右上角的一些文本和“X”十字标志窗口,因为我们在灯箱中任何Web应用程序。如何在iPhone应用程序中创建自定义UIAlertView

+0

是否要定制uialertview的按钮? – Saad

+0

是的,我想定制它们以适应边框的边框,看起来像在网站上的popview – james

+0

你需要什么是不明确的你的问题。你想打开按钮点击一个视图,左上角的关闭按钮.then你有没有使用alertview.just使用您的设计视图,并隐藏它时,视图加载和按钮点击取消隐藏视图..它是骗子 – hacker

回答

0
- (void)willPresentAlertView:(UIAlertView *)alertView; 
- (void)didPresentAlertView:(UIAlertView *)alertView; 

在上述任何消息中,检查子视图及其类,并根据需要更改值。请参阅UIActionSheet的示例代码。使用ns日志搜索所有组件的类并自定义您的期望类。这是uiactionsheet代码

for (UIView* view in [actionSheet subviews]) 
    { 
     NSLog(@"%@",[view class]); 
     if ([[[view class] description] isEqualToString:@"UIAlertButton"] && [view respondsToSelector:@selector(setAlpha:)]) 
     { 
      [view setAlpha:2.0]; 
      [view setOpaque:YES]; 
      if ([view respondsToSelector:@selector(title)]) 
      { 
       NSString* title = [view performSelector:@selector(title)]; 
       if ([title isEqualToString:@"Cancel"] && [view respondsToSelector:@selector(setBackgroundImage:forState:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setFrame:)] && [view respondsToSelector:@selector(setTitleColor:forState:)]) 
       { 

        [view setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; 
        [view setBackgroundImage:[UIImage imageNamed:@"btn-cancel.png"] forState:UIControlStateNormal]; 
        [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y+10, view.frame.size.width,view.frame.size.height)]; 

       } 
      } 
     } 
    } 
+0

我没有得到这个可以解释我更 – james

+0

看。 ios在每个视图上都有图层。你必须搜索出屏幕上的每一层,然后检查它的类别。例如一个警报有一个标签,一个按钮,还有一个按钮还有一个标签等,当你找到你的目标类像按钮,然后你可以改变它的行为 – Saad

+0

告诉我,如果你得到它 – Saad

1

如果要实现自定义告警视图 ,那么你应该有非常吸引人的警报此示例代码Views集合视图控制器的帮助。 试试这个示例代码链接 https://github.com/eaigner/CODialog

相关问题