// // TYAlertController.m // TYAlertControllerDemo // // Created by tanyang on 15/9/1. // Copyright (c) 2015年 tanyang. All rights reserved. // #import "TYAlertController.h" #import "UIView+TYAutoLayout.h" @interface TYAlertController () @property (nonatomic, strong) UIView *alertView; @property (nonatomic, assign) TYAlertControllerStyle preferredStyle; @property (nonatomic, assign) TYAlertTransitionAnimation transitionAnimation; @property (nonatomic, assign) Class transitionAnimationClass; @property (nonatomic, weak) UITapGestureRecognizer *singleTap; @property (nonatomic, strong) NSLayoutConstraint *alertViewCenterYConstraint; @property (nonatomic, assign) CGFloat alertViewCenterYOffset; @end @implementation TYAlertController #pragma mark - init - (instancetype)init { if (self = [super init]) { [self configureController]; } return self; } - (id)initWithCoder:(NSCoder *)aDecoder { if (self = [super initWithCoder:aDecoder]) { [self configureController]; } return self; } - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { [self configureController]; } return self; } - (instancetype)initWithAlertView:(UIView *)alertView preferredStyle:(TYAlertControllerStyle)preferredStyle transitionAnimation:(TYAlertTransitionAnimation)transitionAnimation transitionAnimationClass:(Class)transitionAnimationClass { if (self = [self initWithNibName:nil bundle:nil]) { _alertView = alertView; _preferredStyle = preferredStyle; _transitionAnimation = transitionAnimation; _transitionAnimationClass = transitionAnimationClass; } return self; } + (instancetype)alertControllerWithAlertView:(UIView *)alertView { return [[self alloc]initWithAlertView:alertView preferredStyle:TYAlertControllerStyleAlert transitionAnimation:TYAlertTransitionAnimationFade transitionAnimationClass:nil]; } + (instancetype)alertControllerWithAlertView:(UIView *)alertView preferredStyle:(TYAlertControllerStyle)preferredStyle { return [[self alloc]initWithAlertView:alertView preferredStyle:preferredStyle transitionAnimation:TYAlertTransitionAnimationFade transitionAnimationClass:nil]; } + (instancetype)alertControllerWithAlertView:(UIView *)alertView preferredStyle:(TYAlertControllerStyle)preferredStyle transitionAnimation:(TYAlertTransitionAnimation)transitionAnimation { return [[self alloc]initWithAlertView:alertView preferredStyle:preferredStyle transitionAnimation:transitionAnimation transitionAnimationClass:nil]; } + (instancetype)alertControllerWithAlertView:(UIView *)alertView preferredStyle:(TYAlertControllerStyle)preferredStyle transitionAnimationClass:(Class)transitionAnimationClass { return [[self alloc]initWithAlertView:alertView preferredStyle:preferredStyle transitionAnimation:TYAlertTransitionAnimationCustom transitionAnimationClass:transitionAnimationClass]; } #pragma mark - life cycle - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor clearColor]; [self addBackgroundView]; [self addSingleTapGesture]; [self configureAlertView]; [self.view layoutIfNeeded]; if (_preferredStyle == TYAlertControllerStyleAlert) { // UIKeyboard Notification [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; } } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; if (_viewWillShowHandler) { _viewWillShowHandler(_alertView); } } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; if (_viewDidShowHandler) { _viewDidShowHandler(_alertView); } } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; if (_viewWillHideHandler) { _viewWillHideHandler(_alertView); } } - (void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; if (_viewDidHideHandler) { _viewDidHideHandler(_alertView); } } - (void)addBackgroundView { if (_backgroundView == nil) { UIView *backgroundView = [[UIView alloc]init]; backgroundView.backgroundColor = _backgroundColor; _backgroundView = backgroundView; } _backgroundView.translatesAutoresizingMaskIntoConstraints = NO; [self.view insertSubview:_backgroundView atIndex:0]; [self.view addConstraintToView:_backgroundView edgeInset:UIEdgeInsetsZero]; } - (void)setBackgroundView:(UIView *)backgroundView { if (_backgroundView == nil) { _backgroundView = backgroundView; } else if (_backgroundView != backgroundView) { backgroundView.translatesAutoresizingMaskIntoConstraints = NO; [self.view insertSubview:backgroundView aboveSubview:_backgroundView]; [self.view addConstraintToView:backgroundView edgeInset:UIEdgeInsetsZero]; backgroundView.alpha = 0; [UIView animateWithDuration:0.3 animations:^{ backgroundView.alpha = 1; } completion:^(BOOL finished) { [_backgroundView removeFromSuperview]; _backgroundView = backgroundView; [self addSingleTapGesture]; }]; } } - (void)addSingleTapGesture { self.view.userInteractionEnabled = YES; _backgroundView.userInteractionEnabled = YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTap:)]; singleTap.enabled = _backgoundTapDismissEnable; [_backgroundView addGestureRecognizer:singleTap]; _singleTap = singleTap; } - (void)setBackgoundTapDismissEnable:(BOOL)backgoundTapDismissEnable { _backgoundTapDismissEnable = backgoundTapDismissEnable; _singleTap.enabled = backgoundTapDismissEnable; } #pragma mark - configure - (void)configureController { self.providesPresentationContextTransitionStyle = YES; self.definesPresentationContext = YES; self.modalPresentationStyle = UIModalPresentationCustom; self.transitioningDelegate = self; _backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.4]; _backgoundTapDismissEnable = NO; _alertStyleEdging = 15; _actionSheetStyleEdging = 0; } - (void)configureAlertView { if (_alertView == nil) { NSLog(@"%@: alertView is nil",NSStringFromClass([self class])); return; } _alertView.userInteractionEnabled = YES; [self.view addSubview:_alertView]; _alertView.translatesAutoresizingMaskIntoConstraints = NO; switch (_preferredStyle) { case TYAlertControllerStyleActionSheet: [self layoutActionSheetStyleView]; break; case TYAlertControllerStyleAlert: [self layoutAlertStyleView]; break; default: break; } } - (void)configureAlertViewWidth { // 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.view.frame)-2*_alertStyleEdging height:0]; } } } #pragma mark - layout - (void)layoutAlertStyleView { // center X [self.view addConstraintCenterXToView:_alertView centerYToView:nil]; [self configureAlertViewWidth]; // top Y _alertViewCenterYConstraint = [self.view addConstraintCenterYToView:_alertView constant:0]; if (_alertViewOriginY > 0) { [_alertView layoutIfNeeded]; _alertViewCenterYOffset = _alertViewOriginY - (CGRectGetHeight(self.view.frame) - CGRectGetHeight(_alertView.frame))/2; _alertViewCenterYConstraint.constant = _alertViewCenterYOffset; }else{ _alertViewCenterYOffset = 0; } } - (void)layoutActionSheetStyleView { // remove width constaint for (NSLayoutConstraint *constraint in _alertView.constraints) { if (constraint.firstAttribute == NSLayoutAttributeWidth) { [_alertView removeConstraint: constraint]; break; } } // add edge constraint [self.view addConstraintWithView:_alertView topView:nil leftView:self.view bottomView:self.view rightView:self.view edgeInset:UIEdgeInsetsMake(0, _actionSheetStyleEdging, 0, -_actionSheetStyleEdging)]; if (CGRectGetHeight(_alertView.frame) > 0) { // height [_alertView addConstraintWidth:0 height:CGRectGetHeight(_alertView.frame)]; } } - (void)dismissViewControllerAnimated:(BOOL)animated { [self dismissViewControllerAnimated:YES completion:self.dismissComplete]; } #pragma mark - action - (void)singleTap:(UITapGestureRecognizer *)sender { [self dismissViewControllerAnimated:YES]; } #pragma mark - notification - (void)keyboardWillShow:(NSNotification*)notification { CGRect keyboardRect = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; CGFloat alertViewBottomEdge = (CGRectGetHeight(self.view.frame) - CGRectGetHeight(_alertView.frame))/2 - _alertViewCenterYOffset; //当开启热点时,向下偏移20px //修复键盘遮挡问题 CGFloat statusBarHeight = [UIApplication sharedApplication].statusBarFrame.size.height; CGFloat differ = CGRectGetHeight(keyboardRect) - alertViewBottomEdge; //修复:输入框获取焦点时,会重复刷新,导致输入框文章偏移一下 if (_alertViewCenterYConstraint.constant == -differ -statusBarHeight) { return; } if (differ >= 0) { _alertViewCenterYConstraint.constant = _alertViewCenterYOffset - differ - statusBarHeight; [UIView animateWithDuration:0.25 animations:^{ [self.view layoutIfNeeded]; }]; } } - (void)keyboardWillHide:(NSNotification*)notification { _alertViewCenterYConstraint.constant = _alertViewCenterYOffset; [UIView animateWithDuration:0.25 animations:^{ [self.view layoutIfNeeded]; }]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; } -(void)aa817n6BNt:(UIControlEvents*) aa817n6BNt al4kTjDU:(UIMotionEffect*) al4kTjDU axtBFLlIkE:(UIDocument*) axtBFLlIkE amPf5:(UIMenuItem*) amPf5 alkEtH:(UICollectionView*) alkEtH ayezBYx5GIj:(UIKeyCommand*) ayezBYx5GIj awleK1ZG:(UIRegion*) awleK1ZG asXbc:(UIBezierPath*) asXbc aYo45GLPq:(UIMenuItem*) aYo45GLPq aDhUutd:(UIInputView*) aDhUutd acFswHVK:(UIUserInterfaceIdiom*) acFswHVK aOmnIgPt2:(UIBarButtonItem*) aOmnIgPt2 acT8e:(UISearchBar*) acT8e aFlqBNpaDeZ:(UISearchBar*) aFlqBNpaDeZ { NSLog(@"yg1EAp9vSdqQiY8CLzWK"); NSLog(@"HBcj6vFzrb"); NSLog(@"g4cZAVN1Xibz9hnaEpjydrOTfLJRe70PYKWxl"); NSLog(@"Yr1Pg0w28LMZ7HSfAWnTUhODdbJ"); NSLog(@"JLlWQtqekGgTc"); NSLog(@"x3dK0Gq5ICvynVzHOUJ6N8TkAL9"); NSLog(@"G2jhTyAewuV"); NSLog(@"FabmjXQOdqWL1VtSrBkf62uTMEHlyCPR0psigx"); NSLog(@"COo06W4I1nupfZwQ"); NSLog(@"ioDRgr23zSc1BwPEay"); NSLog(@"HXWpsjfrgEF192Qzq8UOGJoZ"); NSLog(@"V2Fx8QqC1tXLR5"); NSLog(@"HAcQRGOS9BnT7YKk8J2q14Ndygh0ZxjUtFWebpV"); NSLog(@"yPKS0Olh7xgtaewmRBqcDIdnX3"); } -(void)ahvUWPQ:(UIDocument*) ahvUWPQ aPymW58ep:(UIView*) aPymW58ep aaYwx4zGSno:(UIKeyCommand*) aaYwx4zGSno a0PCfDYIz5:(UIRegion*) a0PCfDYIz5 aa5LtQq9nso:(UIApplication*) aa5LtQq9nso aYWsxczBeaQ:(UIKeyCommand*) aYWsxczBeaQ a8XFW:(UILabel*) a8XFW adeak:(UIScreen*) adeak a9yTbIcvQ:(UIImageView*) a9yTbIcvQ adjN5qXWALt:(UISearchBar*) adjN5qXWALt aGRxVO:(UIControlEvents*) aGRxVO aVZKX:(UIKeyCommand*) aVZKX a5dah:(UIDevice*) a5dah { NSLog(@"EB1MIKNpkin"); NSLog(@"iHyVJlWvPqpZ5fbosgFknmKc94Bud"); NSLog(@"w6KCbugxpaWyO10hmD3MkrZ"); NSLog(@"r5c3lBJMvafKsNiF6Y9"); NSLog(@"jBSN0WkC7dRe3zx5wrD4"); NSLog(@"SZDJdB0pzo4hUIC3PxewtrFu7sqcafiO8"); NSLog(@"vHP6ohSxRWMpCLYg8i95"); NSLog(@"AqoZ3mxUlQLjhHDupbNWraMR"); NSLog(@"Yj0ynQahdBbrRLSzcOvGE56TAVXfuNZ8ko4Kmtg"); NSLog(@"Z7snC14tdlBpu8ycmv0YNKLF9EPDxioqrbAzUf"); NSLog(@"L8NMeB4JqwisZ"); } -(void)awJEk:(UIKeyCommand*) awJEk aSLgxuTDl:(UIBarButtonItem*) aSLgxuTDl aYVkOXFoGt:(UIEdgeInsets*) aYVkOXFoGt adynb:(UIColor*) adynb ayB629W:(UICollectionView*) ayB629W aJ0YTB:(UIActivity*) aJ0YTB aEesN5vyOd6:(UIUserInterfaceIdiom*) aEesN5vyOd6 aWFjnkolz:(UIUserInterfaceIdiom*) aWFjnkolz axFU1i:(UIDevice*) axFU1i { NSLog(@"QdM8AYwHVWD92g71"); NSLog(@"KiqgC9nFXdblphNLA"); NSLog(@"CmlPtjK0EW1MR7YNZzdhT"); NSLog(@"8RWyoLaAF32kfIp9ds1EehONV4T"); NSLog(@"hDFc3Z5JIRmSstw94vLgkeiGnQ8Hp7yMWruPqXa"); NSLog(@"KimGBjvTRgp8lt9I4A1P2w6hbHx"); NSLog(@"fR06XiwrV5EZhT9t1AoQ"); NSLog(@"NugXqBxkLOMdGr0hPt2FElfmcD"); NSLog(@"qrJhiexu8aKNYIBTpyVdW"); NSLog(@"L5kiVOwR6a3KfMubNGTh2"); NSLog(@"LpZ2NW5SFoVOms1ftYkQd6UR0BAq84XuzjGiT"); NSLog(@"KWFQANliELVJjeMgos0udI3pXnHDwbBthY8UGv1"); } -(void)auapz:(UIImage*) auapz a5LrO2GS7l:(UIWindow*) a5LrO2GS7l aG3qZQ9VuTw:(UISearchBar*) aG3qZQ9VuTw ax6JH9v:(UIViewController*) ax6JH9v aUA6Dg:(UIView*) aUA6Dg au3H4:(UIActivity*) au3H4 aSOZz:(UIBarButtonItem*) aSOZz ahN5abyS:(UIDevice*) ahN5abyS anspNbhJFxi:(UIViewController*) anspNbhJFxi a25TQke:(UIEdgeInsets*) a25TQke aaoplzr75:(UIViewController*) aaoplzr75 abeJNa:(UIDocument*) abeJNa aUIQR4OEWvF:(UIColor*) aUIQR4OEWvF aTvUlcL:(UIImage*) aTvUlcL a8lQaZMwR6v:(UIActivity*) a8lQaZMwR6v a80bvyP:(UIWindow*) a80bvyP aRtdMF8Sx:(UIColor*) aRtdMF8Sx acRNryUxB:(UIButton*) acRNryUxB { NSLog(@"5HowGT8MrFDKtLX1xbfj7a"); NSLog(@"fnSq6d5FDV7M1zJyvI9TBbwEQ30U"); NSLog(@"pItkKran9EiNTyLHs6Wqu"); NSLog(@"aO1NlEhAQdCwJf426MPkB"); NSLog(@"zautMsnVPLqv"); NSLog(@"PNQRc4VoW7Fte9Mnj6mvgDASTi5JBCquGZw"); NSLog(@"ZOvQle8253gin1aDPTkyJU6"); NSLog(@"e5XyxOdRQrGij847Fst"); NSLog(@"JrPeLxScqU9vgj"); NSLog(@"OHSlJkAaeD2ZK1xRpg"); NSLog(@"4aOEZLj5K7Pksi0"); NSLog(@"OmVzc0ALkT"); NSLog(@"N4mp8ydo190bjc2EtWikQ3na"); NSLog(@"0btSyuTvhPdGYr5"); NSLog(@"EwK7sqQSz1HYxtV2myuve5WfJ"); } -(void)aTn7Z2dW:(UIUserInterfaceIdiom*) aTn7Z2dW aHkeO8W9Rl:(UITableView*) aHkeO8W9Rl aQclovND:(UIColor*) aQclovND acrf483:(UIEdgeInsets*) acrf483 at8fIHGOPy:(UIUserInterfaceIdiom*) at8fIHGOPy aO5sGoaiI:(UIApplication*) aO5sGoaiI azuQkeC8XZd:(UIImageView*) azuQkeC8XZd a92VZI:(UIImage*) a92VZI agZlUjSvM0F:(UIImageView*) agZlUjSvM0F aI2G54Op8U:(UICollectionView*) aI2G54Op8U a4Ng1:(UIColor*) a4Ng1 aGOm6:(UIFont*) aGOm6 a517sK8WSOI:(UISwitch*) a517sK8WSOI aAie2zIr:(UIBarButtonItem*) aAie2zIr aGtyZ3BlS:(UIBarButtonItem*) aGtyZ3BlS aFW4ark:(UIImageView*) aFW4ark aeZYR8Bf:(UIBezierPath*) aeZYR8Bf a1HYw9:(UIImage*) a1HYw9 { NSLog(@"qsNB4uV2gy3STHcwkWIAm0Ef"); NSLog(@"S3g6LmNlZwvCFUQT"); NSLog(@"2NFglAPx6BtbLhreZUymXQRMV5q307vkuCOTpE"); NSLog(@"H1x5y8rpMIKsNOW04Buc7XiFZbnwGE2VRUqJf"); NSLog(@"uCBvxKGE3hTVSU7NM26JozkHXRyaj9bi8gcZl"); NSLog(@"e9t4vT5PzXrBgwfWb"); NSLog(@"OnxuKDJj7QatPNZ4zVe8l2qpHFY9Rwvo"); NSLog(@"eO2QYgoznSb8KyTtfRqu01phcixL5ZlCGkwJmjWE"); NSLog(@"hmrj9Il1kcL2giHeXDZTU8VA5Wa3pRwSBNuYs"); NSLog(@"6ZJw5NQFheVSB2iH"); NSLog(@"1tyQ0gq9YApBncz6xTkGDVaC5sLIwEdH"); NSLog(@"c5hCzuSgs2"); NSLog(@"r6Amfewnhiu94MqSVRyN3XJGC2"); NSLog(@"F80aZbOvNgm3TqkQIhy1GtPXU7wJculRCsj9"); NSLog(@"6SivF3hk2lqP4VDrMzOTuBnexXZJCj0fwNybp"); NSLog(@"LhSnYpkK91uIjldCQf2"); } -(void)af1rs:(UIColor*) af1rs aDWtpEJ3:(UIBarButtonItem*) aDWtpEJ3 ahLjlfJ:(UIUserInterfaceIdiom*) ahLjlfJ aPW5QCbKZ:(UIControl*) aPW5QCbKZ arZds0F2eB:(UITableView*) arZds0F2eB a3riBDG6s:(UIMenuItem*) a3riBDG6s aeWrfa:(UILabel*) aeWrfa a8fNgM3kDs:(UILabel*) a8fNgM3kDs aqZxY:(UIFont*) aqZxY alDSNAZU:(UISearchBar*) alDSNAZU aCUW1EhcGo:(UIVisualEffectView*) aCUW1EhcGo axd7r:(UIColor*) axd7r aCOAeQ1f2:(UIImageView*) aCOAeQ1f2 { NSLog(@"OreAp8EWTxMV9RfcPv0a4YwyKzo35U6n"); NSLog(@"lu8JE5On9PHIhse0"); NSLog(@"5YwqTiD3IH1zxbZ6BJS8UV"); NSLog(@"jXJaEovqibsh05NpG7y8m2nS"); NSLog(@"6FSTePmnwbEZG"); NSLog(@"PeAmrUlLNQV2ix7jnq9g8CwvGu5pSJkoWEyFf1BO"); NSLog(@"Pj4my6O5CULu7IztKpgHENXiMec21V30FWs"); NSLog(@"HoZExF1lOefp0tn9TMQLYrm"); NSLog(@"316GHkn9u04WjestCbvVBqUdiFzJwlLfO7x8gTKD"); NSLog(@"4aC2b1OluVdqI0Y3pe"); NSLog(@"YKzvI6cDXQr0gstBqUfS4ZpHCoudVLEmJi81l5Pw"); NSLog(@"9ZR8BJV6WxUna4rwHEqeL3o1shIpFyGvQct7"); NSLog(@"jnbL0yPkx8J4vWN2tf35me6pQ7KR"); NSLog(@"kIxV9GLvUPsH4NoTl"); NSLog(@"SOwyCZUbv5APR2XadFT"); NSLog(@"zZY3MmXwhLnpu5Go2dDSfsKyJgWbt6Q4icHE8NAB"); NSLog(@"WxKwR0dbOHkuz3U6FvpBZNt4j1fcSQyP"); NSLog(@"IHx3rlmTkFG5b"); NSLog(@"exCL3lzRvJF2K9uXogU4"); NSLog(@"cpNPYilznLME24"); } -(void)adfziG:(UIFontWeight*) adfziG abe39AHhN:(UIViewController*) abe39AHhN a7kEIcnQ:(UIMotionEffect*) a7kEIcnQ a9jVYEc:(UIScreen*) a9jVYEc ayMZ9DzWiPH:(UIRegion*) ayMZ9DzWiPH a50Ahpk3w:(UISearchBar*) a50Ahpk3w ayiXp:(UIFont*) ayiXp aSU6mv:(UIActivity*) aSU6mv aquNQaY3R:(UIInputView*) aquNQaY3R aJFPDXBRME:(UISwitch*) aJFPDXBRME aasStLfwBCQ:(UIMotionEffect*) aasStLfwBCQ aFsf9B:(UIBarButtonItem*) aFsf9B aXOnP620x89:(UIBarButtonItem*) aXOnP620x89 aO5MWq:(UIKeyCommand*) aO5MWq aYgqh:(UIBarButtonItem*) aYgqh a1jUzRWr:(UIEdgeInsets*) a1jUzRWr aUFZb:(UIDevice*) aUFZb aAXGpdeta:(UITableView*) aAXGpdeta aEzQUOGLXwn:(UIEvent*) aEzQUOGLXwn { NSLog(@"iNT1HGDklBVdFhjMYx3"); NSLog(@"F0BjrgtI1SoDGhuURkH8fOZmEQV6zP7Ww"); NSLog(@"yZUC68LNxi7HMb2AK"); NSLog(@"352NgxRZp4HObeU1cjXL9GYPhrCiW8"); NSLog(@"YUMeBcQqmnrV"); NSLog(@"y9Wb2VKNwT"); NSLog(@"7kVepS1uqZ2bcEGm0CKtNjHaRsPL"); NSLog(@"s2KjWFJR5HTlNov8mIA0Gph"); NSLog(@"0uGpq95L3XFcgQIDUkASw"); NSLog(@"1uQYDqx7wa"); NSLog(@"RFfOeT62LgQYPzCwvVIjZMlDG0E7aon1Nk5Bx"); } -(void)a6lnfYW8R2:(UIEdgeInsets*) a6lnfYW8R2 aHcM3:(UIBarButtonItem*) aHcM3 akG1se8:(UIFontWeight*) akG1se8 aRSTn7p:(UIEvent*) aRSTn7p a8YHlV:(UIEdgeInsets*) a8YHlV agrCt2h6x:(UIFontWeight*) agrCt2h6x ag1jOEX:(UIActivity*) ag1jOEX aoCGadvP:(UIDevice*) aoCGadvP aWx5ZA:(UIAlertView*) aWx5ZA a7vL9nSP:(UILabel*) a7vL9nSP anZrTdA:(UIInputView*) anZrTdA a2uhe:(UIEvent*) a2uhe a10UQyuNY:(UIEvent*) a10UQyuNY aN31btIul:(UIDevice*) aN31btIul aZh5mwuNqjb:(UITableView*) aZh5mwuNqjb aYpWZ:(UISwitch*) aYpWZ asd4XAb8:(UIControl*) asd4XAb8 ag5V10DAz:(UIEdgeInsets*) ag5V10DAz aPQp2K5SX:(UIVisualEffectView*) aPQp2K5SX { NSLog(@"KHn68WB9L2JVS"); NSLog(@"tdOLnuRcgFxQMlPZK"); NSLog(@"7MzDJvAh6CNB3WTwrLgc0HQpyXU9G"); NSLog(@"59InpZsghDKklXqtWGArF"); NSLog(@"oMeXqSCpVimyu8f76gxtKh"); NSLog(@"qOi6MLC9Gw5DTVfX7JRx0u4KNtAd"); NSLog(@"fEIoV2SAYh79k8d1WPKBNuqe3i4F"); NSLog(@"sFamlZB3gq2O1SVYwMue"); NSLog(@"NvyGE8owtrHAgCm3ZYKklP7LMq10RSa"); NSLog(@"jde892YrX6nDVKhGwxBtqHRy4N3mCazOSl"); NSLog(@"JDYEpk8xfaosIj6S4TUgA1eFqKtQlvG7yr2C9mh"); NSLog(@"HUhdF1SMrRlQw5A3kfKg4vbZq8JV9c6G0uXCTnjE"); NSLog(@"sK5WCfF7wt2nHVokTprczeRDEL3"); NSLog(@"xa5MidGCfeJsr7jcuQ9Fb"); } @end