1. UIActivityに別々の値を渡す

    複数のUIActivityにそれぞれの別の値を渡したい場合、次のようにします。(UIActivityViewControllerを使っている前提です。)

    まず、データを渡す側。UIActivityItemSourceを実装して、あらかじめUIActivityで定義したactivityTypeごとにそれぞれ別の値をreturnします。

    -(id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType{
    if([activityType isEqualToString:@"anActivity"]){
    return @"value";
    }else{
    return @"another value";
    }
    }

    あとはそれをActivity側でprepareWithActivityItems:が呼ばれるときに受け取ってあげればOKです。
    - (void)prepareWithActivityItems:(NSArray *)activityItems {
    self.queryString = [activityItems lastObject];
    }

     

    Posted by Takeya Hikage on 2013年03月21日
    Categories iOS objective-c