iphone - 显示 UIImagePickerController 后 UITextfields 空白

标签 iphone objective-c ios xcode4

我有一个包含两个 UITextField 和一个按钮的表单。用户在两个字段中输入值,然后单击按钮。这会显示 UIImagePickerController,因此他/她可以拍照。单击图片预览上的“使用”按钮后,UIImagePickerController 被关闭,但在两个 UITextFields 中输入的任何文本都消失了。这只发生在 iPhone(不是 iPad)上,并且只发生在用户使用相机而不是从相机胶卷中选择照片时。这是代码。

-(IBAction)btnTakePic {
    if([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.mediaTypes = [NSArray arrayWithObjects: (NSString *) kUTTypeImage, nil];
    imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
    imagePicker.allowsEditing = NO;
    [self presentModalViewController: imagePicker animated:YES];
    [imagePicker release];
}
else if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeImage, nil];
    imagePicker.allowsEditing = NO;
    [self presentModalViewController:imagePicker animated:YES];
    [imagePicker release];
}
}

我已经通过调试器并在进入选择器 DidFinishPickingWithMediaInfo 时,文本字段已经是空白的,所以问题似乎并没有出现在那里。 iPad 运行 4.3.3,iPhone 运行 4.2.1,应用程序正在 XCode 4 中开发,4.3 作为基础 sdk,4.2 作为部署目标。感谢您的帮助。

最佳答案

我怀疑您收到内存警告(在使用相机时很常见)并且 View 正在卸载,当 View 重新加载时(从图像选择器返回后) View 处于默认状态,框为空。

您需要在输入框时存储它们的值(在变量中),然后在 viewDidLoad 中检查您是否有值,如果您确实将文本字段文本属性设置为所需的值。

检查控制台,您很可能会遇到 1 级(或 2 级)内存警告

关于iphone - 显示 UIImagePickerController 后 UITextfields 空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7918596/

相关文章:

ios - 如何检测音频左/右平衡?

ios - 如何在 iOS 中终止应用程序后继续在后台下载

ios - MBProgressHUD ,多次崩溃

ios - 如何在 XCode 中将 "1"添加到 UILabel

iphone - iPad 中的 SplitView - 保持两个 View 而不弹出窗口

ios - 使 UIViewController 成为单例?

Android页面控件像iPhone页面控件

ios - 将十进制度数转换为十进制度分 (DDM)

ios - 一个delegate可以申请两个VC吗

ios - SpriteKit - 对象内部的播放器