2015-10-12 100 views
0

我在具有標籤「備註」的UISplitViewcontroller中有詳細視圖。約束(?)在使用MFMessageComposeViewController後更改,MFMailComposeViewController

它的高度限制設置爲< = 63,它的底部空間設置爲低於一個UITableView它

enter image description here

備註將充滿文字,我想它限制在最多3線(高度= 21)

這工作完全:

enter image description here

當電話號碼是手機時,不僅會顯示電話,還會顯示一個用於發送短信的按鈕。示出MFMessageComposeViewController(與MFMailComposeViewController同樣的情況對於E-mail地址)後,但是,突然備註標籤顯示4行:

enter image description here

沒有太多的代碼來顯示,爲完整起見:

顯示:

@objc func sendEmail (sender : AnyObject) { 

    let button = sender as! ActionButton 
    let viewController = button.viewController 


    var picker = MFMailComposeViewController() 
    picker.mailComposeDelegate = viewController 
    picker.setToRecipients([self.address!]) 

    viewController!.presentViewController(picker, animated: true, completion: nil) 


} 

並關閉

func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!) { 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

我不會改變對故事板視圖它(不添加字段或添加/刪除/修改約束)

任何關於如何發生的,以及如何解決它的想法什麼?

+0

是在的UILabel顯示的文本? – skyline75489

+0

我不明白你的問題......在UILabel中顯示了這個評論(「尋找......」)。該標籤顯示了約束條件。我沒有更改約束,但顯示彈出式窗體後,使用MFMessageComposeViewController或MFMailComposeViewController發送表單的文本消息(iMessage或Text),該UILabel突然顯示4行文字 – Glenn

+0

我在想也許是UILabel的numberOfLines被改變或者可能導致問題的東西。但是我不確定你是否使用UILabel。 – skyline75489

回答

0

我遇到了非常相似的東西。我有一個直接位於UITableView下的UIView,幷包含一個發送電子郵件的按鈕。如果我點擊該按鈕,然後使用MFMailComposeViewController彈出一個撰寫電子郵件視圖,那麼當對話框關閉時,就好像ViewController的視圖已將其高度增加了50個像素。我有一個約束讓我的UIView在底部。我必須創建一個Bool,用於跟蹤從電子郵件視圖返回的時間,並將約束更改爲50像素。這是我在viewWillAppear中的代碼,其中returnFromEmail是設置爲true的布爾目前我MFMailComposeViewController後:

bottomViewBottomConstraint.constant = returnFromEmail ? 50 : 0 
returnFromEmail = false