- (void)sendSmsWithSubject:(NSString *)subject andBody:(NSString *)body {
MFMessageComposeViewController *smsCompose = [[MFMessageComposeViewController alloc] init];
smsCompose.subject = subject;
smsCompose.body = body;
smsCompose.messageComposeDelegate = self;
[self presentViewController:smsCompose animated:YES completion:nil];
}
如所附的屏幕截图所示,MFMessageComposeViewController的文本字段覆盖了第一个表格单元格“ TestA”。以上是代码段。
这似乎是MFMessageComposeViewController上的错误,但是,在对stackoverflow等进行一些搜索之后,没有关于该“问题”的记录。我的代码有什么错误或遗漏吗?预先感谢您的帮助。
注意:iOS10设备上不会发生此UI问题。
答案 0 :(得分:0)
最后我发现问题是由以下原因引起的:
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
作为修复/解决方法:
- (void)sendSmsWithSubject:(NSString *)subject andBody:(NSString *)body {
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentAutomatic];
MFMessageComposeViewController *smsCompose = [[MFMessageComposeViewController alloc] init];
smsCompose.subject = subject;
smsCompose.body = body;
smsCompose.messageComposeDelegate = self;
[self presentViewController:smsCompose animated:YES completion:nil];
}
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result {
// Disable contentInsetAdjustmentBehavior when leave MFMessageComposeViewController.
[[UIScrollView appearance] setContentInsetAdjustmentBehavior:UIScrollViewContentInsetAdjustmentNever];
[self dismissViewControllerAnimated:YES completion:nil];
}
希望这对遇到相同问题的其他人很有帮助。谢谢。