Swift 使用MFMessageComposeViewController、MFMailComposeViewController后更改的约束(?)
我在UISplitViewcontroller中有一个带有标签“备注”的详细视图Swift 使用MFMessageComposeViewController、MFMailComposeViewController后更改的约束(?),swift,constraints,Swift,Constraints,我在UISplitViewcontroller中有一个带有标签“备注”的详细视图 它的高度限制设置为我遇到了非常类似的情况。我有一个UIView,它位于UITableView的正下方,包含一个发送电子邮件的按钮。如果我单击该按钮,然后使用MFMailComposeViewController弹出一个撰写电子邮件视图,那么当对话框关闭时,就好像ViewController的视图将其高度增加了50像素。我有一个约束,使我的UIView保持在底部。我必须创建一个Bool来跟踪我何时从email视图返回
它的高度限制设置为我遇到了非常类似的情况。我有一个UIView,它位于UITableView的正下方,包含一个发送电子邮件的按钮。如果我单击该按钮,然后使用MFMailComposeViewController弹出一个撰写电子邮件视图,那么当对话框关闭时,就好像ViewController的视图将其高度增加了50像素。我有一个约束,使我的UIView保持在底部。我必须创建一个Bool来跟踪我何时从email视图返回,它将约束更改了50像素。这是我在ViewWill中的代码,其中returnFromEmail是在我演示MFMailComposeViewController后设置为true的布尔值:
bottomViewBottomConstraint.constant = returnFromEmail ? 50 : 0
returnFromEmail = false
文本是否显示在UILabel中?我不明白你的问题。。。备注(“寻找…”)显示在UILabel中。该标签具有所示的约束条件。我没有改变限制条件,但是在显示了使用MFMessageComposeViewController或MFMailComposeViewController发送邮件的弹出表单(iMessage或text)后,UILabel突然显示了4行文本,我想可能UILabel的行数发生了变化或其他什么,这可能会导致问题。但我不确定您是否使用UILabel。正如我所说,我使用的是UILabel,但我不会更改代码中的行数或约束。唯一要做的就是从UIButton启动一个方法。该方法的代码如问题所述:var picker=…控制台中是否显示任何警告?我想可能有某种约束冲突。
func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) {
dismissViewControllerAnimated(true, completion: nil)
}
bottomViewBottomConstraint.constant = returnFromEmail ? 50 : 0
returnFromEmail = false