如何制作这样的自定义模态uiview?

时间:2011-10-24 20:12:02

标签: iphone ios ios4 uialertview

我在iPhone应用程序上需要一些模态视图,我将在其中显示一些标签,一个UIImageView和两个按钮。设计需要完全定制。 这是自定义的UIAlertView吗?如何制作类似的东西?

UIView in Tweetboot

5 个答案:

答案 0 :(得分:6)

Jeff LaMarche撰写了一篇关于如何创建自定义警报视图的精彩博客文章。你可以从那里获取灵感。

http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

** 2017年4月24日更新** 不幸的是,博客不再存在。但是,您可以从Web存档中检索帖子: https://web.archive.org/web/20160430051146/http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

答案 1 :(得分:2)

查看Tapku库的来源。他们有这个选项 - 你可以随时破解/调整它的源代码。虽然不是那么困难,但是很多层魔法都在四处传播(例如晕影效果)。而且大多数资产都是图像。你只需要妥善分解它。

答案 2 :(得分:2)

您只需按照以下步骤即可获得

  1. 创建尺寸为320 * 480的UIview(ViewA),以便覆盖iPhone的整个屏幕,背景设置为clearColor。这将作为我们目的的超级视图;
  2. 创建另一个大小为320 * 480的UIView(ViewB),背景颜色设置为黑色,不透明度设置为40%。 3.现在可以在ViewB上添加任何视图。
  3. 现在将ViewB添加到ViewA。
  4. 最后,您可以根据需要提供此视图。效果将是,ViewA将覆盖Background viewController,ViewB将服务器视为背景视图控制器的抑制效果,B上的视图是您将看到的UIElement。

答案 3 :(得分:1)

制作这样的视图很简单。您只需要创建一个包含所需部分的自定义视图,然后将其隐藏或将alpha设置为0.0。然后在您想要使用它时取消隐藏它。

要防止与视图后面的其他项进行交互,请在自定义视图后面放置一个空白的半透明视图。

答案 4 :(得分:0)

        UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"\n\Please wait. \n Authorising Credentials..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease];   
        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 10, 40, 40)];
        NSString *path = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"smile.png"]];
        UIImage *bkgImg = [[UIImage alloc] initWithContentsOfFile:path];
        [imageView setImage:bkgImg];
        [bkgImg release];
        [path release];
        [alert addSubview:imageView];
        [imageView release];
        [alert addButtonWithTitle:@"Cancel"];
        [alert show];