كيف يمكن الحصول على قيمة حقل النص قبل عرض تنبيه باستخدام Cocos2d؟
-
03-07-2019 - |
سؤال
واني اسعى الى تطوير تطبيق باستخدام Cocos2d. لا أستطيع الحصول على قيمة من حيز النص. كيف يمكن الحصول على قيمة حقل النص (في طريقة عرض تنبيه) باستخدام Cocos2d؟
-(void)timed1: (id)sender
{
UIAlertView* dialog = [[[UIAlertView alloc] init] retain];
[dialog setDelegate:self];
[dialog setTitle:@"Enter Time:"];
[dialog setMessage:@" "];
UITextField * nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
[dialog addSubview:nameField];
[nameField setBackgroundColor:[UIColor whiteColor]];
CGAffineTransform moveUp = CGAffineTransformMakeTranslation(0.0, 70.0);
[dialog setTransform: moveUp];
[dialog setBackgroundColor:[UIColor clearColor]];
[dialog addButtonWithTitle:@"Done"];
[dialog show];
nameField.clearButtonMode = UITextFieldViewModeWhileEditing;
nameField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
nameField.keyboardAppearance = UIKeyboardAppearanceAlert;
nameField.autocapitalizationType = UITextAutocapitalizationTypeWords;
// timeStatus is a int type global variable
timeStatus =[nameField.text intValue]; // this line not working i can't getting value namefield
[dialog release];
[nameField release];
}
المحلول
ويتم التعامل مع أوراق العمل والتنبيهات بشكل غير متزامن. في قضيتك، ورسالة [عرض الحوار] مجرد جداول الحدث عرض لبعض إعدام لاحق (التعامل معها من قبل حلقة شوط الرئيسي). إذا وضعت في عدد قليل من NSLog) الصورة (، سترى أن [إظهار] رسالة ترجع على الفور تقريبا، وعند هذه النقطة قد المستخدم الخاص بك لم تدخل أي بيانات، والنص nameField هو فارغ، وهذا يحول إلى int 0 .
وأنت تريد حظر، حوار مشروط مع مدخلات - لم يتم تصميم أوراق العمل والتنبيهات لإدخال المستخدم خارج نعم / لا / إلغاء زر يدفع. سيكون لديك لسلق وجهة نظر خاصة بك: ليس من الصعب جدا، ولكن ذلك يتطلب المزيد من العمل من استخدام ورقة عمل / تنبيه