Запуск MFMailComposeViewController обрезает текст получателя - PullRequest
1 голос
/ 26 января 2012

Я использую пример кода Apple для MessageUI и MFMailComposeViewControllerDelegate, и в основном он работает отлично. Но по какой-то причине, когда я его реализую, текст в полях получателей появляется не выровненным по меткам полей, и вы можете видеть только половину курсора и половину текста во время ввода. После того, как вы ввели адреса и вышли из поля, текст полностью виден, хотя и не соответствует меткам. Я посмотрел на реализации приложений в MessageUI, и у них, похоже, нет этой проблемы. Кто-нибудь видел эту проблему и нашел решение?

Ниже приведен код:

-(void)displayComposerSheet 
{
   MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];  
   picker.mailComposeDelegate = self;

   [picker setSubject:@"Data"];

   // Set up recipients
   NSArray *toRecipients = [NSArray arrayWithObject:@"email@example.com"]; 

   [picker setToRecipients:toRecipients];

   // Attach an attachment to the email
   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
   NSString *documentsDirectory = [paths objectAtIndex:0];
   NSString *csvFile = [documentsDirectory stringByAppendingPathComponent:@"myFile.csv"];
   NSData *myData = [NSData dataWithContentsOfFile:csvFile];
   NSString *filename = @"myFile.csv";
   [picker addAttachmentData:myData mimeType:@"text/csv" fileName:filename];

   // Fill out the email body text
   NSString *emailBody = @"Attached is the data";
   [picker setMessageBody:emailBody isHTML:NO];

   [self presentModalViewController:picker animated:YES];

}

Проблема возникает как в симуляторе, так и на устройстве.

1 Ответ

2 голосов
/ 12 марта 2012

Вероятно, у вас есть пользовательский UITextField в вашем приложении и есть некоторый пользовательский код в - (CGRect)textRectForBounds:(CGRect)bounds. Если вы хотите иметь некоторую категорию для класса UITextField, попробуйте поместить свой конкретный код непосредственно в класс, где вы его используете, вместо использования категории, которая влияет на все текстовые поля в вашем приложении, даже в MFMailComposeViewController

...