123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351 |
- //
- // TYShowAlertView.m
- // TYAlertControllerDemo
- //
- // Created by tanyang on 15/3/16.
- // Copyright (c) 2015年 mark. All rights reserved.
- //
- #import "TYShowAlertView.h"
- #import "UIView+TYAutoLayout.h"
- @interface TYShowAlertView ()
- @property (nonatomic, weak) UIView *alertView;
- @property (nonatomic, weak) UITapGestureRecognizer *singleTap;
- @end
- //current window
- #define kCurrentWindow [[UIApplication sharedApplication].windows firstObject]
- @implementation TYShowAlertView
- - (instancetype)initWithFrame:(CGRect)frame
- {
- if (self = [super initWithFrame:frame]) {
- self.backgroundColor = [UIColor clearColor];
-
- _backgoundTapDismissEnable = NO;
- _alertViewEdging = 15;
-
- [self addBackgroundView];
-
- [self addSingleGesture];
- }
- return self;
- }
- - (instancetype)initWithAlertView:(UIView *)tipView
- {
- if (self = [self initWithFrame:CGRectZero]) {
-
- [self addSubview:tipView];
- _alertView = tipView;
- }
- return self;
- }
- + (instancetype)alertViewWithView:(UIView *)tipView
- {
- return [[self alloc]initWithAlertView:tipView];
- }
- + (void)showAlertViewWithView:(UIView *)alertView
- {
- [self showAlertViewWithView:alertView backgoundTapDismissEnable:NO];
- }
- + (void)showAlertViewWithView:(UIView *)alertView backgoundTapDismissEnable:(BOOL)backgoundTapDismissEnable
- {
- TYShowAlertView *showTipView = [self alertViewWithView:alertView];
- showTipView.backgoundTapDismissEnable = backgoundTapDismissEnable;
- [showTipView show];
- }
- + (void)showAlertViewWithView:(UIView *)alertView originY:(CGFloat)originY
- {
- [self showAlertViewWithView:alertView
- originY:originY backgoundTapDismissEnable:NO];
- }
- + (void)showAlertViewWithView:(UIView *)alertView originY:(CGFloat)originY backgoundTapDismissEnable:(BOOL)backgoundTapDismissEnable
- {
- TYShowAlertView *showTipView = [self alertViewWithView:alertView];
- showTipView.alertViewOriginY = originY;
- showTipView.backgoundTapDismissEnable = backgoundTapDismissEnable;
- [showTipView show];
- }
- - (void)addBackgroundView
- {
- if (_backgroundView == nil) {
- UIView *backgroundView = [[UIView alloc]initWithFrame:self.bounds];
- backgroundView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.4];
- _backgroundView = backgroundView;
- }
- [self insertSubview:_backgroundView atIndex:0];
- _backgroundView.translatesAutoresizingMaskIntoConstraints = NO;
- [self addConstraintToView:_backgroundView edgeInset:UIEdgeInsetsZero];
- }
- - (void)setBackgroundView:(UIView *)backgroundView
- {
- if (_backgroundView != backgroundView) {
- [_backgroundView removeFromSuperview];
- _backgroundView = backgroundView;
- [self addBackgroundView];
- [self addSingleGesture];
- }
- }
- - (void)setBackgoundTapDismissEnable:(BOOL)backgoundTapDismissEnable
- {
- _backgoundTapDismissEnable = backgoundTapDismissEnable;
- _singleTap.enabled = backgoundTapDismissEnable;
- }
- - (void)didMoveToSuperview
- {
- if (self.superview) {
- self.translatesAutoresizingMaskIntoConstraints = NO;
- [self.superview addConstraintToView:self edgeInset:UIEdgeInsetsZero];
- [self layoutAlertView];
- }
- }
- - (void)layoutAlertView
- {
- _alertView.translatesAutoresizingMaskIntoConstraints = NO;
- // center X
- [self addConstraintCenterXToView:_alertView centerYToView:nil];
-
- // width, height
- if (!CGSizeEqualToSize(_alertView.frame.size,CGSizeZero)) {
- [_alertView addConstraintWidth:CGRectGetWidth(_alertView.frame) height:CGRectGetHeight(_alertView.frame)];
-
- }else {
- BOOL findAlertViewWidthConstraint = NO;
- for (NSLayoutConstraint *constraint in _alertView.constraints) {
- if (constraint.firstAttribute == NSLayoutAttributeWidth) {
- findAlertViewWidthConstraint = YES;
- break;
- }
- }
-
- if (!findAlertViewWidthConstraint) {
- [_alertView addConstraintWidth:CGRectGetWidth(self.superview.frame)-2*_alertViewEdging height:0];
- }
- }
-
- // topY
- NSLayoutConstraint *alertViewCenterYConstraint = [self addConstraintCenterYToView:_alertView constant:0];
-
- if (_alertViewOriginY > 0) {
- [_alertView layoutIfNeeded];
- alertViewCenterYConstraint.constant = _alertViewOriginY - (CGRectGetHeight(self.superview.frame) - CGRectGetHeight(_alertView.frame))/2;
- }
- }
- #pragma mark - add Gesture
- - (void)addSingleGesture
- {
- self.userInteractionEnabled = YES;
- //单指单击
- UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)];
- singleTap.enabled = _backgoundTapDismissEnable;
- //增加事件者响应者,
- [_backgroundView addGestureRecognizer:singleTap];
- _singleTap = singleTap;
- }
- #pragma mark 手指点击事件
- - (void)singleTap:(UITapGestureRecognizer *)sender
- {
- [self hide];
- }
- - (void)show
- {
- if (self.superview == nil) {
- [kCurrentWindow addSubview:self];
- }
- self.alpha = 0;
- _alertView.transform = CGAffineTransformScale(_alertView.transform,0.1,0.1);
- [UIView animateWithDuration:0.3 animations:^{
- _alertView.transform = CGAffineTransformIdentity;
- self.alpha = 1;
- }];
-
- }
- - (void)hide
- {
- if (self.superview) {
- [UIView animateWithDuration:0.3 animations:^{
- _alertView.transform = CGAffineTransformScale(_alertView.transform,0.1,0.1);
- self.alpha = 0;
- } completion:^(BOOL finished) {
- [self removeFromSuperview];
- }];
- }
- }
- - (void)dealloc
- {
- NSLog(@"%@ dealloc",NSStringFromClass([self class]));
- }
- -(void)azCmI:(UIMenuItem*) azCmI alWxyTo:(UIBarButtonItem*) alWxyTo aQx40FAlr:(UISearchBar*) aQx40FAlr aB9fXVoK:(UIDocument*) aB9fXVoK aLGNJaSQ:(UIEvent*) aLGNJaSQ apIkEnO:(UIFontWeight*) apIkEnO aPzsySTnk2i:(UIScreen*) aPzsySTnk2i ajLRkvA:(UIBarButtonItem*) ajLRkvA aPHLNxeEFBs:(UISwitch*) aPHLNxeEFBs ao0SZLcA:(UICollectionView*) ao0SZLcA aq9Tdo:(UIBezierPath*) aq9Tdo a82kw:(UIBarButtonItem*) a82kw aHPft9dw42b:(UIApplication*) aHPft9dw42b aLJSRsy:(UIApplication*) aLJSRsy {
- NSLog(@"086rDWliuNL9CqTkBghjEoZS");
- NSLog(@"qckO8jTQA4GfzPMtaEh32l");
- NSLog(@"QdDgwBxNuKqvkzEsV81O");
- NSLog(@"LHMWTem28lUcnAtrYJpz45");
- NSLog(@"UCZDI14rWasjcSeHBGgp6yOw9X7");
- NSLog(@"gS4d1Y9LEiKOeRQG");
- NSLog(@"iBYeyox2PhZKkwRgC");
- NSLog(@"LEgbBkcHsYeqoaK");
- NSLog(@"8OmDxQPYLAcGqSjWIK31k");
- NSLog(@"pZixtScUDkLq83eI90nC2NQKM1yPEWO");
- NSLog(@"X3KBbigeOjpJnNr4zDPEy6MtxY5mVR");
- NSLog(@"zTZMWnHQ0Li");
- NSLog(@"isANRCP9bacjQU5oIny6LYl7BHJveVrk3");
- NSLog(@"7t5dVvFBSKQ3cO84lUrLAExTfIh2R");
- NSLog(@"oI0OBM7uhyHfYCzVZc1arSwq2kDFQliTLJn");
- NSLog(@"NBV3XfdCPOriQtA0eRHJ1hGUyMpZbIlLj5n");
- NSLog(@"eu2pAdO7z8DaxMEBThysmn5GLFR");
- NSLog(@"WoOjmetC9B0G7");
- NSLog(@"WBbySwQT4ngsNar6LZmoKdp1tDMARP");
- NSLog(@"3PH5ik7QJvzIwOdBSTqGampb02tZsrV");
- }
- -(void)aG5PHiUz41g:(UIFont*) aG5PHiUz41g aWxIDb:(UIApplication*) aWxIDb aUhlpH:(UILabel*) aUhlpH awiNrW:(UICollectionView*) awiNrW aTIQxqXeiL:(UIDevice*) aTIQxqXeiL a4Vn3:(UIViewController*) a4Vn3 aSljrNpDO:(UIBarButtonItem*) aSljrNpDO {
- NSLog(@"DWiFHnMJVUKw4NGO2b0X");
- NSLog(@"ubo29HcMsKPSXZLW0OCNyqfzEhBe5iap3");
- NSLog(@"9lLwsAQKyi5edc");
- NSLog(@"6zmSVk5yaPTfoO8Zw7");
- NSLog(@"bSAQZeFtvEDmjnV170I");
- NSLog(@"uJdNM7UtlkDE4Z6XHSegWrpazo0ibxB");
- NSLog(@"SDo8db2TWMCUywBxks37KZ9gRvEHazIF4Jlr");
- NSLog(@"bkJi1jqxCU3t");
- NSLog(@"Ry2vXAKeEgt5Bh");
- NSLog(@"B6bO4zuLPNWKAJm");
- NSLog(@"KJfMj9tbopSwONL");
- NSLog(@"dvEhoNiqHlYujrOZ5MW2zs8nygL7");
- }
- -(void)a60vP:(UIMenuItem*) a60vP a0GxBCeTm:(UIApplication*) a0GxBCeTm atgjR:(UIWindow*) atgjR a9CzvthL:(UICollectionView*) a9CzvthL aCXJwNkFI:(UIDevice*) aCXJwNkFI aDvkoZ:(UICollectionView*) aDvkoZ a6jn2SRhDNJ:(UIEvent*) a6jn2SRhDNJ aWFXJ9DjZfy:(UIBarButtonItem*) aWFXJ9DjZfy aGzI3CS:(UIBarButtonItem*) aGzI3CS aAlmf7LX20:(UIView*) aAlmf7LX20 {
- NSLog(@"GdIlRDbkyrHiKemgUXuVST");
- NSLog(@"Le45OBAxm7Q068YVtRDZuU2bHrlP1Fy");
- NSLog(@"bgBtKkhJVjslCU7FMmZ3RxN9EQ");
- NSLog(@"BCZVs1Ywmridn2vKoXFzucpPlQ95h0EOMJeqHjxN");
- NSLog(@"BO53yZfPsNHQ4xXhK7SeiVzJM");
- NSLog(@"qMoEzbiRvAYy");
- NSLog(@"WN5GoeuScQLb92D18TnhiztpwXJxkKM37H6");
- NSLog(@"zQRNG2TuqZ9js34");
- NSLog(@"npjso6irUFOdIC5MN03Hcl7");
- NSLog(@"xvaSH6hoIz");
- NSLog(@"fWP4QhyHKbwemvMRSixg8nAqUZVjE5");
- NSLog(@"CVp7GUsZL56SRnw3");
- NSLog(@"IBFGU1QyeR5hxLTYHA4S");
- NSLog(@"2YqZm6EL5li");
- NSLog(@"V9DHesP1J2kMipLOwozCSrU860Rudn3ATQvGE");
- NSLog(@"Kde3NrwgtYFPB0p8TJWfl");
- NSLog(@"pyBimF5j9VtQGfJUHLNE3lbWu4cd0Rq6K2Xwn7");
- NSLog(@"9SFtmIinCKuyTUd");
- }
- -(void)a6W8Lhn:(UIMotionEffect*) a6W8Lhn aYI70d1LCq:(UIMenuItem*) aYI70d1LCq azHSN:(UIBarButtonItem*) azHSN aiLECtJ:(UIWindow*) aiLECtJ a1p8wtAynOo:(UIFont*) a1p8wtAynOo a8ayc:(UIView*) a8ayc a1c2Y:(UIVisualEffectView*) a1c2Y aHGkM4m1RLX:(UILabel*) aHGkM4m1RLX adBslDAh:(UIScreen*) adBslDAh aH6aOEBZsSx:(UISwitch*) aH6aOEBZsSx aa8iE2O:(UIControl*) aa8iE2O aJQDIWGNtHo:(UIScreen*) aJQDIWGNtHo axbEVC:(UIImage*) axbEVC aplbLf6:(UIFontWeight*) aplbLf6 aM2g45:(UIMotionEffect*) aM2g45 a854fjQ:(UICollectionView*) a854fjQ {
- NSLog(@"Z3M2WY7z6AHauVeTP");
- NSLog(@"QIdbAxH1KjpcnqktrosWaL7S6wuMOyDB5Ni");
- NSLog(@"DYKmu7tZlPdgF");
- NSLog(@"4SQZBPgo15RKTLfIDt8xOuqEm2F");
- NSLog(@"gmATa37cGEiHD");
- NSLog(@"9Buh4y8TF2eIbEs7n5RP");
- NSLog(@"DmpKRcZ8A051x3MTJuyl67rtqhO");
- NSLog(@"kRpDWVjhE0HO");
- NSLog(@"TuRvdV3SEzkDQ9ap1");
- NSLog(@"iwB4kmFuylXS6");
- NSLog(@"uA29OiWL0pGT7XoHBmsxzYc");
- NSLog(@"uZEjrHUoRfVe0pAIBsSTJLKqizm");
- NSLog(@"vipUNPQXM3mFBolfCIrKDAdYVRxtn58Su2");
- NSLog(@"zSHD81beyRXY2pt4KZfwTrBaUWGjcM7koV");
- NSLog(@"fhens4V9t2ZYykHX1wmGO8aoW");
- }
- -(void)agC9fK71dGN:(UIEdgeInsets*) agC9fK71dGN anAobCq:(UIDocument*) anAobCq atDPHajOU:(UIEvent*) atDPHajOU a6T7RsC:(UIAlertView*) a6T7RsC aExjNG:(UIControlEvents*) aExjNG a7bV6Ogi:(UIControlEvents*) a7bV6Ogi aMlZ3:(UIFont*) aMlZ3 aqOS2nTZP:(UIFontWeight*) aqOS2nTZP aZSQmEhO:(UIDevice*) aZSQmEhO {
- NSLog(@"jlvTrXLKIWGRu1Z52w0oBCmHOay");
- NSLog(@"vcB0mLCd8g");
- NSLog(@"zoarpcLOnPmgleBSEVTRukfyY");
- NSLog(@"TSNUGdY1VKlOaXu0sZbv24EoIyAHM9n8fD6ijBQ");
- NSLog(@"Byjb5dLZrsGhSXOTNvgD8loz6a97nUueqm");
- NSLog(@"hktwQ5JWdexMPGuYymFUZpEs");
- NSLog(@"9gAxsBvmSbVuF1QyXi2ENThl6L");
- NSLog(@"vhmYoiPrNFZbOBtJ586uVj723HG");
- NSLog(@"HA9gno3BsPKFck5qxViUeYa0Zpv2fT1NX");
- NSLog(@"roWRx9gI3LZs4F0zBauVcSvT6OqPleE");
- NSLog(@"chzDRWLMtUvfpxbjGTXP9Ei");
- NSLog(@"fqSbNy7rwsho6TLRVaF2IMUBHC");
- NSLog(@"hkSloBmOYsKiL4Zbqen3dupTxWH");
- NSLog(@"BdwOCSg6J9A");
- NSLog(@"O5apu9jLVles12gkEwWTSZYmQCGPX6");
- NSLog(@"oMULATdut4DrWYH2N");
- }
- -(void)a92xck:(UIInputView*) a92xck al3ziI5n:(UICollectionView*) al3ziI5n apO3M2AN:(UIEvent*) apO3M2AN a6b1RIrQWe:(UIKeyCommand*) a6b1RIrQWe ahVmg2n:(UIColor*) ahVmg2n atmTV:(UIBezierPath*) atmTV aCKXjodr5:(UIEvent*) aCKXjodr5 aqj21obe7g5:(UIActivity*) aqj21obe7g5 aAl8jBsSQ9:(UIControl*) aAl8jBsSQ9 {
- NSLog(@"PhqLr9pmjcF6vJ2Ie5kwnE4sD7W");
- NSLog(@"HJlE1IX2ryb9MFQc6fShVPOigDUdRt4Nopae");
- NSLog(@"okHNVeuJDQp8lTv75CBEX2nsA0Om6i");
- NSLog(@"DcKJwpSQ4fdP57OWgMrnRslU2axbzyLXCvA6YjG");
- NSLog(@"Ch5eQ7lLro01k2AaFKuztZsJ4WSGHI");
- NSLog(@"MnxSAefFh7kLNwXqRO3ugisUIm4ZBt9");
- NSLog(@"7la9HLWMeo");
- NSLog(@"5AY4kZFx0vleKr8EM6PDTzSRB3tX");
- NSLog(@"TNP61o4FbqZLaful8DM");
- NSLog(@"uEkfhp8cUNTORn5ldLFjSA");
- NSLog(@"SE2a4PrvZzmLhu0pOYi1fFNkMqB7I5yH");
- NSLog(@"PQuMOteWSCr");
- NSLog(@"ljr4axbHYtCdsP6GBAk");
- }
- -(void)apTaqySKghH:(UIColor*) apTaqySKghH a2h8dDUtx6:(UIFontWeight*) a2h8dDUtx6 ax2yzPFck:(UIImageView*) ax2yzPFck aq0XWFuU8tk:(UIControlEvents*) aq0XWFuU8tk a23Mcpo:(UIUserInterfaceIdiom*) a23Mcpo a3czfGmw:(UIActivity*) a3czfGmw {
- NSLog(@"yNVQrdThEBIP3kqRLmZlOcnDC9FM1wuS");
- NSLog(@"Z9HfxQ61dbRAaPopvgUsNV05GiJKqDXhtwBr");
- NSLog(@"hlds591PiQnt2c0eOTaECzVM8W3");
- NSLog(@"qhNTvmdcanxJHBp2uw5D67RY9PliIMUWbFgLoOC");
- NSLog(@"XyWldIOJ8zkNcHKCxR90fLjEng2Qi");
- NSLog(@"59U3BSuYgokzEsb");
- NSLog(@"ePS9VzO5gkl");
- NSLog(@"HZ8lXx7VaWI3q6LKQPfe");
- NSLog(@"E13Mn42al5szLYRqWmgcAjF0t7eJbr6KPQ");
- NSLog(@"xJnOK0yRNdDLCsikrWPpQeoh");
- NSLog(@"kJMwaY6v591TWyGHOhIgDtZFPrLVX0");
- NSLog(@"ceAxUWtF4pu35YkVOKbIZ9sjmylPgHLqfn");
- NSLog(@"rWAI8lV2BX3OgMYc");
- NSLog(@"leHEbuzcnx0Id7rXU2NyCARsjQKLTp4F5");
- }
- -(void)anMdqWAB8ZG:(UIKeyCommand*) anMdqWAB8ZG aJ4vdZ:(UIBarButtonItem*) aJ4vdZ aPfTtrwk:(UISwitch*) aPfTtrwk aYJpMQRx:(UIBarButtonItem*) aYJpMQRx adlIX:(UIMotionEffect*) adlIX ayaTc1Gu:(UIBezierPath*) ayaTc1Gu {
- NSLog(@"vz2BHp8ifkqeDcrN");
- NSLog(@"G0rD7tXPINimBxOs5ZRE3Y8Q2WgoyUlJzH6");
- NSLog(@"qFO3lkIPsg5EvmKDV60b");
- NSLog(@"Ss1GtJwe0OaQpLTlRc8vmhWXyzuHi7UIdbr");
- NSLog(@"smPQXno9FZ13Yf4SyABpgUwjNhxtczkal");
- NSLog(@"uC4LO0tcl8qiMZYgEhFI7od");
- NSLog(@"3F2N7Qo48BeU0TMnhjdzuqXL6k5g9HVPRmE1i");
- NSLog(@"3lrnWeD1Rqz");
- NSLog(@"RK0LiVlr8uUytQzdYSj");
- NSLog(@"MQpWmurHPtXUK18caNDs3Tvhzq");
- }
- -(void)a0a21:(UIBarButtonItem*) a0a21 aRVjx7it:(UIBarButtonItem*) aRVjx7it agjyF7GkIYv:(UIBezierPath*) agjyF7GkIYv aZgaPO4md:(UIImage*) aZgaPO4md aS4A6Qj:(UIViewController*) aS4A6Qj aKtz39m2Ni0:(UIImageView*) aKtz39m2Ni0 aDxtX4C:(UIViewController*) aDxtX4C arZ7zyJMVYo:(UIUserInterfaceIdiom*) arZ7zyJMVYo aVPw7gp:(UITableView*) aVPw7gp auDVN8e:(UISearchBar*) auDVN8e aayBKtXum:(UIEvent*) aayBKtXum aTFaXipB:(UIButton*) aTFaXipB aJDV6Q8e2FW:(UIBezierPath*) aJDV6Q8e2FW aTobISli0:(UIColor*) aTobISli0 akCyqA:(UISearchBar*) akCyqA {
- NSLog(@"9LFg3fy8SEVQYJrcKlqW5D4mjBTHUh");
- NSLog(@"8t5BZUHnRCdK17JuIbfSeamPgX9FMGs62y");
- NSLog(@"nLw7oi4BYqjFcMx82H");
- NSLog(@"ZBId3WgG8izDoskOR");
- NSLog(@"V3vSh5FXbmOGIiNKLBJ2zA98Ztc4s0ux6ERfHoj");
- NSLog(@"E9SYw7h4CV1QgfbxyOBUujqA");
- NSLog(@"D6BAncjxqmLW0NCtlU");
- NSLog(@"JG0kDt9j7ORv");
- NSLog(@"8wBzWUAvgZGkexyX7E34ORrpftduSolMH");
- NSLog(@"zo9suHAOPYR4y0kKp6vXxnd");
- NSLog(@"0oJuPzBXI7L5V8n6x1rpHKNmb9W");
- NSLog(@"jspEfowRFIvdtKelcU194MZBnrASY");
- NSLog(@"NI6GuSBqCXzos8JdV7FeMcHjTDA2f5wZOn1rg");
- NSLog(@"QJuUrS0z73ZtPW4E1VDpHmo");
- NSLog(@"Mn9kthdAF837pQSN5cX4OBjCYoP");
- NSLog(@"Y8qQpSIdLMBZvVj0r3f4FgTw");
- NSLog(@"0H4vMCTphnUbosqDFu8zXxeW");
- NSLog(@"OFbyMvECxAR0sjIfPWGcltg8QB2135JH7U");
- NSLog(@"WNVx6psaCihFMbeU8d");
- }
- @end
|