2011-04-29 33 views
0

我在我的項目中使用了TTMessageController。我以模態方式顯示它。它的導航欄默認有兩個按鈕,一個用於解除作曲者,另一個用於發送信息。幫助找到觸發方法的地方

問題是,用戶點擊「發送」後,視圖會自動關閉。

下面是從TTMessageController.m文件封閉視圖的方法

- (void)cancel:(BOOL)confirmIfNecessary { 
    if (confirmIfNecessary && ![self messageShouldCancel]) { 
    [self confirmCancellation]; 

    } else { 
    if([_delegate respondsToSelector:@selector(composeControllerWillCancel:)]){ 
     [_delegate composeControllerWillCancel:self]; 
    } 

    [self dismissModalViewController]; 
    } 
} 

所以[自dismissModalViewController];關閉視圖。在我的代碼中調用的唯一方法是send方法。但我不明白爲什麼視圖關閉,因爲send方法中沒有取消調用。

請看看源:https://github.com/facebook/three20/blob/master/src/Three20UI/Sources/TTMessageController.m

你發現了什麼?

回答

1

您可以在Xcode中設置符號斷點,以便在發送-dismissModalViewController消息時暫停。如果您查看堆棧跟蹤,這可能會幫助您確定何時調用它(這可能是Xcode 4的新功能)。

+0

這是一個功能! :d – 2011-04-29 17:00:56