Note that there are some explanatory texts on larger screens.

plurals
  1. POiPhone Developer's Cookbook: ModalAlert Frozen
    primarykey
    data
    text
    <p>I've used a recipe from the iPhone Developer's Cookbook called ModalAlert in order to get some text from a user; however, when the alert is shown, the keyboard and buttons are frozen. Here is the code for the modal alert.</p> <pre><code>+(NSString *) textQueryWith: (NSString *)question prompt: (NSString *)prompt button1: (NSString *)button1 button2:(NSString *) button2 { // Create alert CFRunLoopRef currentLoop = CFRunLoopGetCurrent(); ModalAlertDelegate *madelegate = [[ModalAlertDelegate alloc] initWithRunLoop:currentLoop]; UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:question message:@"\n" delegate:madelegate cancelButtonTitle:button1 otherButtonTitles:button2, nil]; // Build text field UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 260.0f, 30.0f)]; tf.borderStyle = UITextBorderStyleRoundedRect; tf.tag = TEXT_FIELD_TAG; tf.placeholder = prompt; tf.clearButtonMode = UITextFieldViewModeWhileEditing; tf.keyboardType = UIKeyboardTypeAlphabet; tf.keyboardAppearance = UIKeyboardAppearanceAlert; tf.autocapitalizationType = UITextAutocapitalizationTypeWords; tf.autocorrectionType = UITextAutocorrectionTypeNo; tf.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; // Show alert and wait for it to finish displaying [alertView show]; while (CGRectEqualToRect(alertView.bounds, CGRectZero)); // Find the center for the text field and add it CGRect bounds = alertView.bounds; tf.center = CGPointMake(bounds.size.width / 2.0f, bounds.size.height / 2.0f - 10.0f); [alertView addSubview:tf]; [tf release]; // Set the field to first responder and move it into place [madelegate performSelector:@selector(moveAlert:) withObject:alertView afterDelay: 0.7f]; // Start the run loop CFRunLoopRun(); // Retrieve the user choices NSUInteger index = madelegate.index; NSString *answer = [[madelegate.text copy] autorelease]; if (index == 0) answer = nil; // assumes cancel in position 0 [alertView release]; [madelegate release]; return answer; } </code></pre> <p>Thanks!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload