如何在 iOS 中创建自定义(自行设计的)uialertview

How to create a custom(self designed) uialertview in iOS

我偶然发现了一个可爱的 ui 概念。我想知道我们如何在 iOS(iPhone) 中创建这样的 "pop up" window。

我有 3 个问题:

  1. 我们如何实现弹出样式 window?
  2. 最好的方法是什么?

谢谢

编辑:我想创建一个这样的自定义控件。

在我看来,以下内容可以做到:

  1. 创建一个视图控制器,其视图具有子视图,看起来像屏幕截图中的寄存器 window。对于非矩形形状,可能需要适当设置视图层的遮罩。
  2. 将视图控制器的视图添加到键window。

看来更好的方法是:

1- 创建一个 class 继承 UIView 并且也有一个 delegate class。 你的 .h 文件应该是这样的:

#import <UIKit/UIKit.h>
@class MYPopUpView;

//Your delegate class
@protocol PopUpViewDelegate <NSObject>

- (void) popUpView:(MYPopUpView *)popUpView clickedButtonAtIndex:(NSInteger) index;

@end

//Your view interface
@interface LIPopUpView : UIView{
    NSObject<LIPopUpViewDelegate> *_delegate;
}
//Your methods and properties
@end

2- 在 .m 文件的初始化程序中实现 PopUpView

的 UI

3- 对于圆圈,您可以使用 UI 图层甚至自定义按钮,当用户单击它时会触发您的 delegate 方法。

4- 使用以下代码定义显示方法以显示弹出窗口:

- (void) show
{
    UIWindow *window = [UIApplication sharedApplication].windows.lastObject;
    [window addSubview:self];
    [window bringSubviewToFront:self];
}

5- 触发 popUp 对象的 show 方法来显示 popUp

6- 要隐藏它,请定义如下所示的关闭方法并从调用者处触发它 class。

- (void) close
{
    [self removeFromSuperview];
}