0

I need to show one alert message like “Are you sure? [Y/N] WARNING - This will reset scores.”

For this I am writing following lines of code:

 UIAlertView *alert = [[UIAlertView alloc] init]; [alert setMessage: NSLocalizedString(@"Are you sure?", nil)]; [alert setTitle:@"WARNING - This will reset scores."]; [alert addButtonWithTitle:@"Y"]; [alert addButtonWithTitle:@"N"]; [alert setDelegate:self]; [alert show]; [alert release]; 

By this I am getting the warning text at first and then the question and buttons. but I want that warning text to appear at last. The flow will be like first question (Are you sure?), then two buttons(Y/N) and then warning text.Please help me to do this. I am struct at this. Please help.

1
  • Please follow the answer given below. Commented Apr 25, 2012 at 16:50

3 Answers 3

1
UIAlertView *alert1= [[UIAlertView alloc]initWithTitle:@"Are you sure?" message:@"Warning-This will reset scores." delegate:self cancelButtonTitle:nil otherButtonTitles:@"Y",@"N", nil]; [alert1 show]; [alert1 release]; 

Just Use Simple init method !!

Sign up to request clarification or add additional context in comments.

Comments

1

You should Create Custom AlertView. Here is my custom AlertView code, you can just follow it to create your own required alertView. Perhaps It will help you.

#import <UIKit/UIKit.h> #import "Utility.h" @interface AlertViewController : UIViewController <UIAlertViewDelegate> { UITextView *_sharingTextView; } - (void) showAlertViewWithTextView; @end 

And then in .m file

#import "AlertViewController.h" @implementation AlertViewController #define AlertViewIphoneInitFrame CGRectMake(0, 0, 300, 100) #define AlertViewIpadInitFrame CGRectMake(200, 50, 600, 200) #define TextViewIphoneFrame CGRectMake(20, 50, 260, 80) //#define TextViewIpadFrame CGRectMake(40, 100, 520, 160) #define AlertViewIphonePresentFrame CGRectMake(10, 100, 300, 200) #define AlertViewIpadPresentFrame CGRectMake(200, 200, 600, 400) - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - Custom AlertView //Custom AlertView - (void) showAlertViewWithTextView { UIAlertView *alert; if ([[Utility getCurrentDevice] isEqualToString:@"iPad"]) { alert = [[UIAlertView alloc] initWithFrame:AlertViewIpadInitFrame]; _sharingTextView = [[UITextView alloc] initWithFrame:TextViewIphoneFrame]; } else { alert = [[UIAlertView alloc] initWithFrame:AlertViewIphoneInitFrame]; _sharingTextView = [[UITextView alloc] initWithFrame:TextViewIphoneFrame]; } alert.title = @"History Application"; alert.message = nil; alert.delegate = self; [alert addButtonWithTitle:@"Return"]; _sharingTextView.text = @"To share you events through tweets or facebook sharing you have to login, You can do so here or when trying to tweet or facebook share. You can also logout here"; [_sharingTextView setFont:[UIFont fontWithName:@"Helvetica" size:18.0]]; [_sharingTextView setEditable:NO]; [alert addSubview:_sharingTextView]; [alert show]; [_sharingTextView release]; [alert release]; } - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { } // to set the alertView frame size. - (void)willPresentAlertView:(UIAlertView *)alertView { if ([[Utility getCurrentDevice] isEqualToString:@"iPad"]) { [alertView setFrame:AlertViewIpadPresentFrame]; } else { [alertView setFrame:AlertViewIphonePresentFrame]; } [alertView setFrame:AlertViewIphonePresentFrame]; for ( UIView *views in [alertView subviews]) { NSLog(@"%@",views); if (views.tag == 1) { [views setFrame:CGRectMake(views.frame.origin.x+10, views.frame.origin.y+80, views.frame.size.width, views.frame.size.height)]; } } } #pragma mark - View lifecycle - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { // Return YES for supported orientations return (interfaceOrientation == UIInterfaceOrientationPortrait); } - (void)dealloc { } @end 

Comments

0

You currently have the warning text as the title so it will show above the message. Change your setMessage to something like below:

NSString *fullMessage = [NSString stringWithFormat:@"%@\n\nWARNING - This will reset scores.", NSLocalizedString(@"Are you sure?", nil)]; [alert setMessage: fullMessage]; 

2 Comments

This will just change the warning text line number, but what I want to display is,. first "Are you Sure?", then two buttons(Y/N), then warning text.
Ah, you can't do that sort of layout with the built-in UIAlertView. You would have to create your own custom view for something like that (AFAIK).

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.