
####iOS7 Programming Cookbook 第一章学习笔记 UIActivityViewController
#####Presenting Custom Sharing Options with UIActivityViewController


#####StringReverserActivity.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
@interface () <UIAlertViewDelegate>
@property (nonatomic, strong) NSArray *activityItems; @end
@implementation
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{ [self activityDidFinish:YES]; }
- (NSString *) activityType{
return [[NSBundle mainBundle].bundleIdentifier stringByAppendingFormat:@".%@", NSStringFromClass([self class])]; }
- (NSString *) activityTitle{ return @"Reverse String"; }
- (UIImage *) activityImage{ return [UIImage imageNamed:@"Reverse"]; }
- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems{ * ( Item 1, Item 2, Item 3 )
*/ for (id object in activityItems){ if ([object isKindOfClass:[NSString class]]){ return YES; } } return NO; }
- (void) prepareWithActivityItems:(NSArray *)activityItems{ NSMutableArray *stringObjects = [[NSMutableArray alloc] init]; for (id object in activityItems){ if ([object isKindOfClass:[NSString class]]){ [stringObjects addObject:object]; } } self.activityItems = [stringObjects copy]; }
- (NSString *)reverseOfString:(NSString *)paramString{ NSMutableString *reversed = [[NSMutableString alloc] initWithCapacity:paramString.length]; for (NSInteger counter = paramString.length - 1; counter >= 0; counter--){ [reversed appendFormat:@"%c", [paramString characterAtIndex:counter]]; } return [reversed copy]; }
- (void)performActivity{ NSMutableString *reversedStrings = [[NSMutableString alloc] init]; for (NSString *string in self.activityItems){ [reversedStrings appendString:[self reverseOfString:string]]; [reversedStrings appendString:@"n"]; } UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Reversed" message:reversedStrings delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; }
@end
|
#####ViewController.m
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
@implementation ViewController
- (void) viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; NSArray *itemsToShare = @[@"Item 1", @"Item 2", @"Item 3"]; UIActivityViewController *activity = [[UIActivityViewController alloc]initWithActivityItems:itemsToShare applicationActivities:@[[StringReverserActivity new]]]; [self presentViewController:activity animated:YES completion:nil]; }
@end
|
Reference
近期评论