如何在MonoTouch中使用UIActivityViewController

时间:2012-11-12 20:52:45

标签: c# xamarin.ios ios6 uiactivityviewcontroller

我正尝试使用以下代码从MonoTouch访问UIActivityViewController

var textToShare = new NSString("hallo there");
var activityItems = new NSObject[] {textToShare};
var excludedActivityTypes = new NSString[] { new NSString("UIActivityTypePostToWeibo"),       new NSString("UIActivityTypeMessage") };
var activityViewController = new UIActivityViewController(activityItems, null);
activityViewController.ExcludedActivityTypes = excludedActivityTypes;
this.PresentViewController(activityViewController, true, null)

显示iOS操作表,但不排除指定的活动。 有什么建议问题是什么?是否有任何MonoTouch样品?

1 个答案:

答案 0 :(得分:5)

你很亲密。改变这个:

var excludedActivityTypes = new NSString[] { 
    new NSString("UIActivityTypePostToWeibo"),
    new NSString("UIActivityTypeMessage") 
};

成:

var excludedActivityTypes = new NSString[] {
    UIActivityType.PostToWeibo,
    UIActivityType.Message
};

注意:常量的名称并不总是与其值相同。对于ObjC来说,比较NSString指针(而不是它们的值)以检测常量相等也是常见的(即使是不好的做法) - 在这种情况下创建自己的NSString实例将无法工作(无论如何通过IDE完成代码,const看起来更好,工作效果更好。