如何在 iOS 中创建自定义(自行设计的)uialertview
How to create a custom(self designed) uialertview in iOS
我偶然发现了一个可爱的 ui 概念。我想知道我们如何在 iOS(iPhone) 中创建这样的 "pop up" window。
我有 3 个问题:
- 我们如何实现弹出样式 window?
- 最好的方法是什么?
谢谢
编辑:我想创建一个这样的自定义控件。
在我看来,以下内容可以做到:
- 创建一个视图控制器,其视图具有子视图,看起来像屏幕截图中的寄存器 window。对于非矩形形状,可能需要适当设置视图层的遮罩。
- 将视图控制器的视图添加到键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];
}
我偶然发现了一个可爱的 ui 概念。我想知道我们如何在 iOS(iPhone) 中创建这样的 "pop up" window。
我有 3 个问题:
- 我们如何实现弹出样式 window?
- 最好的方法是什么?
谢谢
编辑:我想创建一个这样的自定义控件。
在我看来,以下内容可以做到:
- 创建一个视图控制器,其视图具有子视图,看起来像屏幕截图中的寄存器 window。对于非矩形形状,可能需要适当设置视图层的遮罩。
- 将视图控制器的视图添加到键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
的 UI3- 对于圆圈,您可以使用 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];
}