2014-07-04 40 views
1

我有一個UITableView在嵌入導航控制器的UIViewControllerUIViewController使用自動佈局進行排列。我正在使用SWTableViewCell來啓用從左到右的滑動。這會顯示一個'分享'按鈕,它會在點擊時顯示UIActivityViewController從UITableViewCell調用UIActivityViewController錯誤地顯示

問題是,UIActivityViewController被調用時顯示不正確,擠壓到視圖的左側並連接到左上角。例如,請參閱下面的圖像,第一個顯示UIActivityViewController,第二個顯示UIActivityViewController

我一直無法找到任何關於此類問題的其他帖子。下面的代碼是我如何從SWTableViewCell委託人的- (void)swipeableTableViewCell:(SWTableViewCell *)cell didTriggerLeftUtilityButtonWithIndex:(NSInteger)index方法中調用UIActivityViewController

WhatsAppMessage *whatsappMsg = [[WhatsAppMessage alloc] initWithMessage:shareItem forABID:nil]; 

NSArray *activityItems = @[shareItem, whatsappMsg]; 
NSArray *applicationActivities = @[[[JBWhatsAppActivity alloc] init],[[LINEActivity alloc] init], [[WeixinTimelineActivity alloc] init],[[WeixinSessionActivity alloc] init]]; 

UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:applicationActivities]; 

activityViewController.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypeSaveToCameraRoll, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo, UIActivityTypePostToFlickr, UIActivityTypeAirDrop]; 

[self.navigationController presentViewController:activityViewController animated:YES completion:^{}]; 

任何想法?

During display of UIActivityViewControllerOnce UIActivityViewController is displayed

+0

我已經嘗試了幾乎完全相同的代碼,以在空白的單一視圖應用程序中呈現'UIActivityViewController'(有和沒有'UINavigationController',它完美的工作,所以我必須在我的應用程序中設置一些奇怪的東西 – staticnz

回答

1

我終於找到了答案,我知道它是與自動佈局。在項目的早期我有大部分在代碼中設置我的自動佈局限制,我已經把下面一行在我AppDelegate.m文件:

self.window.translatesAutoresizingMaskIntoConstraints = NO; 

刪除這條線,在UIActivityViewController負荷完美了!

希望這可以幫助遇到此問題的其他人。

+0

謝謝非常! –

相關問題