IOS 仿Android吐司提示框实例分享
今天,我们将分享一个IOS 仿Android吐司提示框的实例,旨在帮助开发者快速实现吐司提示框的功能。本实例中,我们将使用Objective-C语言,通过创建一个名为ShowToastView的类,来实现吐司提示框的显示。
让我们来看一下ShowToastView.h文件的内容:
```objective-c
#import <UIKit/UIKit.h>
@interface ShowToastView : UIView
+(void)showToastView:(UIView *)uiview WithMessage:(NSString *)message;
+(void)showToastViewShort:(UIView *)uiview WithMessage:(NSString *)message;
+(void)showToastViewWithCostUpload:(UIView *)uiview WithMessage:(NSString *)message;
+(void)showSmallHeightToastView:(UIView *)uiview WithMessage:(NSString *)message;
@end
```
在上面的代码中,我们定义了四个方法,分别用于显示不同的吐司提示框样式。下面,我们将逐一介绍每个方法的实现。
### showToastView方法
让我们来看一下showToastView方法的实现:
```objective-c
+(void)showToastView:(UIView *)uiview WithMessage:(NSString *)message{
UIView *showview = [[UIView alloc]init];
showview.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.3];
showview.frame = CGRectMake(1, 1, 1, 1);
showview.layer.cornerRadius = 5.0f;
showview.layer.masksToBounds = YES;
[uiview addSubview:showview];
UILabel *label = [[UILabel alloc]init];
CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];
label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
label.text = message;
label.textColor = [UIColor whiteColor];
label.textAlignment = 1;
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:15];
[showview addSubview:label];
showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-100, LabelSize.width+20, LabelSize.height+10);
[UIView animateWithDuration:5.0 animations:^{
showview.alpha = 0;
} completion:^(BOOL finished) {
[showview removeFromSuperview];
}];
}
```
在上面的代码中,我们首先创建了一个UIView对象,用于显示吐司提示框。然后,我们创建了一个UILabel对象,用于显示吐司提示框的文本。我们使用了sizeWithFont方法来计算label的大小,并使用了frame来设置label的位置和大小。我们使用了UIView的animateWithDuration方法来设置吐司提示框的显示和隐藏动画。
### showToastViewShort方法
下面,让我们来看一下showToastViewShort方法的实现:
```objective-c
+(void)showToastViewShort:(UIView *)uiview WithMessage:(NSString *)message{
UIView *showview = [[UIView alloc]init];
showview.backgroundColor = [UIColor whiteColor];
showview.frame = CGRectMake(1, 1, 1, 1);
showview.layer.cornerRadius = 5.0f;
showview.layer.masksToBounds = YES;
[uiview addSubview:showview];
UILabel *label = [[UILabel alloc]init];
CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];
label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
label.text = message;
label.textColor = [UIColor whiteColor];
label.textAlignment = 1;
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:15];
[showview addSubview:label];
showview.frame = CGRectMake((uiview.frame.size.width - LabelSize.width - 20)/2, uiview.frame.size.height - LabelSize.height-100, LabelSize.width+20, LabelSize.height+10);
[UIView animateWithDuration:5.0 animations:^{
showview.alpha = 0;
} completion:^(BOOL finished) {
[showview removeFromSuperview];
}];
}
```
showToastViewShort方法的实现与showToastView方法非常相似,不同的是,showToastViewShort方法使用了白色背景,而不是黑色背景。
### showToastViewWithCostUpload方法
下面,让我们来看一下showToastViewWithCostUpload方法的实现:
```objective-c
+(void)showToastViewWithCostUpload:(UIView *)uiview WithMessage:(NSString *)message{
//TODO: 实现showToastViewWithCostUpload方法
}
```
在上面的代码中,我们暂时没有实现showToastViewWithCostUpload方法的逻辑,开发者可以根据自己的需求来实现该方法。
### showSmallHeightToastView方法
让我们来看一下showSmallHeightToastView方法的实现:
```objective-c
+(void)showSmallHeightToastView:(UIView *)uiview WithMessage:(NSString *)message{
//TODO: 实现showSmallHeightToastView方法
}
```
在上面的代码中,我们暂时没有实现showSmallHeightToastView方法的逻辑,开发者可以根据自己的需求来实现该方法。
我们已经实现了一个简单的IOS 仿Android吐司提示框实例,开发者可以根据自己的需求来修改和扩展该实例。