Commit b703cda2 authored by guanghui.shi's avatar guanghui.shi

弹窗逻辑修改

parent 33397f25
......@@ -26,10 +26,11 @@ typedef NS_ENUM(NSInteger,QGActivityPosition)
/// 便利构造器
+ (instancetype)shareInstance;
/// 展示某个位置的活动弹窗
/// @param position 位置
/// @param controller 承载弹窗的父控制器
- (void)showActivitiesAtPosition:(QGActivityPosition)position inController:(UIViewController *)controller;
/// 因为弹窗会发生变化,去掉这个初始化
///// 展示某个位置的活动弹窗
///// @param position 位置
///// @param controller 承载弹窗的父控制器
//- (void)showActivitiesAtPosition:(QGActivityPosition)position inController:(UIViewController *)controller;
/// 如果包含多个弹窗,在ViewController的viewDidAppear调用此方法
- (void)viewDidAppearAtPosition:(QGActivityPosition)position inController:(UIViewController *)controller;
......
......@@ -17,6 +17,9 @@ typedef void (^QGActivityShouldWaitBlock)(QGActivityPopView * _Nullable pop);
NS_ASSUME_NONNULL_BEGIN
@interface QGActivityPopView : QGBasePopView
/// 是否正在显示
@property (nonatomic, assign) BOOL showing;
///位置
@property (nonatomic, assign)NSInteger position;
///在哪个类显示
......
......@@ -120,6 +120,7 @@
}
[self removeFromSuperview];
}];
self.showing = NO;
}
/// 点击内容关闭
......@@ -159,7 +160,13 @@
}
}];
self.showing = NO;
}
- (void)showInView:(UIView *)superView
{
[super showInView:superView];
self.showing = YES;
}
/// 浮窗点击统计
......
......@@ -72,16 +72,16 @@
[self uploadIPAddress];
[self performSelector:@selector(showActivities) withObject:nil afterDelay:2.0];
// [self performSelector:@selector(showActivities) withObject:nil afterDelay:2.0];
}
- (void)showActivities
{
QGActivityPopManager *manager = [QGActivityPopManager shareInstance];
[manager showActivitiesAtPosition:QGActivityPositionHome inController:self];
}
//- (void)showActivities
//{
// QGActivityPopManager *manager = [QGActivityPopManager shareInstance];
// [manager showActivitiesAtPosition:QGActivityPositionHome inController:self];
//
//}
- (void)viewDidAppear:(BOOL)animated
{
......
......@@ -57,7 +57,7 @@
// Do any additional setup after loading the view.
[self initNormalUI];
[QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionCashback inController:self];
// [QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionCashback inController:self];
}
#pragma mark - 初始化数据
......
......@@ -52,7 +52,7 @@
[self initNormalUI];
[self requestMenuData];
//弹窗
[QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionMall inController:self];
// [QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionMall inController:self];
}
......
......@@ -46,7 +46,7 @@
[self custemLeftDefaultBarButtonItem];
[self addRefresh];
[QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionManager inController:self];
// [QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionManager inController:self];
}
......
......@@ -35,7 +35,7 @@
// Do any additional setup after loading the view.
[self initNormalUI];
[QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionMine inController:self];
// [QGActivityPopManager.shareInstance showActivitiesAtPosition:QGActivityPositionMine inController:self];
}
- (void)viewDidAppear:(BOOL)animated
......
......@@ -26,6 +26,15 @@
///上次推荐更新提示的日期
#define VCCLastUpdateHintDate @"VCCLastUpdateHintDate"
@interface SystemManager()
/// 内部应用粘贴板字符串
@property (nonatomic, copy)NSString *pasteboardString;
/// 内部应用粘贴板字符串
@property (nonatomic, copy)NSArray *pasteboardStrings;
@end
static SystemManager * shareManager = nil;
@implementation SystemManager
......@@ -50,8 +59,28 @@ static SystemManager * shareManager = nil;
- (id)init
{
self = [super init];
if (self) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pasteboardChanged) name:UIPasteboardChangedNotification object:nil];
}
return self;
}
- (void)pasteboardChanged
{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
if (pasteboard.string.length) {
self.pasteboardString = pasteboard.string;
self.pasteboardStrings = pasteboard.strings;
}else{
self.pasteboardString = nil;
self.pasteboardStrings = nil;
}
}
#pragma mark - /*************************/
......@@ -177,7 +206,7 @@ static SystemManager * shareManager = nil;
{
NSString * pasteboardStr = [UIPasteboard generalPasteboard].string;
//发现粘贴行为弹窗
if (![NSString isEmpty:pasteboardStr] && pasteboardStr.length > 15) {
if ([self validatePasteboardString]) {
QGPasteAlertView * alertView = [[QGPasteAlertView alloc] initWithPasteStr:pasteboardStr];
[alertView showInView:nil];
//清空粘贴板
......@@ -192,6 +221,20 @@ static SystemManager * shareManager = nil;
}
}
/// 判断粘贴板的字符的有效性
- (BOOL)validatePasteboardString
{
NSString *string = [UIPasteboard generalPasteboard].string;
/// 空或者字符串长度小于15
if ([NSString isEmpty:string] || string.length <= 15) return NO;
/// 与粘贴板相同
if (self.pasteboardString && [self.pasteboardString isEqualToString:string]) return NO;
/// 纯数字
if ([string isNumber]) return NO;
return YES;
}
#pragma mark - /*************************/
//自定义webviewUserAgent
......@@ -281,4 +324,9 @@ static SystemManager * shareManager = nil;
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment