Constants
#import "CustomIOS7AlertView.h"
#define alertTag 2
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
Please find CustomIOS7AlertView .h and .m file Click here to download
Code for Custom UIAlertview subviews in iOS7
#import "CustomIOS7AlertView.h"
#define alertTag 2
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
Please find CustomIOS7AlertView .h and .m file Click here to download
Code for Custom UIAlertview subviews in iOS7
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")){ CustomIOS7AlertView *alert = [[CustomIOS7AlertView alloc] init]; alert.backgroundColor = [UIColor whiteColor]; [alert setContainerView:[self createAlertView:@"Check for iOS7 UIAlertview"]]; [alert setButtonTitles:[NSMutableArray arrayWithObjects:@"Okay",@"Cancel",nil]]; [alert setDelegate:self]; alert.tag = alertTag; [alert show]; [self.view addSubview:alert]; }else{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:msg message:@"" delegate:self cancelButtonTitle:@"Okay" otherButtonTitles:@"Cancel",nil]; alert.tag = alertTag; [alert show]; } - (UIView *)createAlertView:(NSString *)msg{ UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 100)]; demoView.layer.cornerRadius = 8.0f; demoView.layer.masksToBounds = YES; demoView.backgroundColor = [UIColor whiteColor]; UILabel *title = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, 280, 30)]; title.text = msg; title.textColor = [UIColor blackColor]; title.backgroundColor = [UIColor clearColor]; title.font = [UIFont fontWithName:@"verdana" size:14]; title.numberOfLines = 0; [demoView addSubview:title]; UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; btn.frame= CGRectMake(20,50,38,30); [btn setImage:[UIImage imageNamed:@"circle-checked.png"] forState:UIControlStateNormal]; [btn addTarget:self action:@selector(toggleMe:) forControlEvents:UIControlEventTouchUpInside]; btn.backgroundColor = [UIColor clearColor]; [demoView addSubview:btn]; UILabel *lblShare= [[UILabel alloc] initWithFrame:CGRectMake(70, 50, 190, 30)]; lblShare.text=@"share on facebook"; lblShare.numberOfLines=1; lblShare.textColor =[UIColor blackColor]; lblShare.font=[UIFont fontWithName:@"verdana" size:14]; lblShare.textAlignment=UITextAlignmentLeft; lblShare.backgroundColor =[UIColor clearColor]; [demoView addSubview:lblShare]; return demoView; } //Delegate - (void)customIOS7dialogButtonTouchUpInside:(CustomIOS7AlertView *)alertView clickedButtonAtIndex: (NSInteger)buttonIndex{ NSLog(@"Button at position %d is clicked on alertView %d.", buttonIndex, [alertView tag]); NSInteger tag = alertView.tag; if (tag == alertTag){ if (buttonIndex == 0) NSLog(@"pressed okay"); else NSLog(@"pressed cancel"); } [alertView close]; } // Button target - (IBAction) toggleMe : (id) sender{ UIButton *btn = (UIButton *) sender; [btn setImage:[UIImage imageNamed:@"circle-unchecked.png"] forState:UIControlStateNormal]; } //Output
This doesn't work with ARC disabled..
ReplyDeleteGlad to hear it!
ReplyDeleteKeep it up.