Mer*_*nci 24 objective-c ios ios6 uiactivityviewcontroller
我试图UIActivityViewController
用一个长NSString
的数据作为数据.如果我输入一个> 140个字符的字符串,则其中的推文表格不会显示该字符串.如果我在将字符串提供给控制器之前将UIActivities
其截断,则所有字符串都会被截断.我不希望Facebook或消息被截断.
有没有办法给不同的字符串UIActivities
?
谢谢!
(例如,Marco Arment的The Magazine应用程序通过截断字符串后跟@TheMagazineApp进行此操作UIActivityPostToTwitter
,以及其他内容UIActivities
.)
小智 40
我认为这正是您所需要的:自定义UIActivityViewController图标和文本.
您应该能够为每种活动类型提供不同的数据.
小智 10
希望这有助于某人.如果你是子类,这是非常简单的UIActivityItemProvider
:
@interface MyActivityItemProvider : UIActivityItemProvider
@end
@implementation MyActivityItemProvider
- (id)item
{
// Return nil, if you don't want this provider to apply
// to a particular activity type (say, if you provide
// print data as a separate item for UIActivityViewController).
if ([self.activityType isEqualToString:UIActivityTypePrint])
return nil;
// The data you passed while initialising your provider
// is in placeholderItem now.
if ([self.activityType isEqualToString:UIActivityTypeMail] ||
[self.activityType isEqualToString:UIActivityTypeCopyToPasteboard])
{
return self.placeholderItem;
}
// Return something else for other activities. Obviously,
// you can as well reuse the data in placeholderItem here.
return @"Something else";
}
@end
Run Code Online (Sandbox Code Playgroud)
然后将其实例与一系列活动项传递给UIActivityViewController:
MyActivityItemProvider *activityItem =
[[MyActivityItemProvider alloc] initWithPlaceholderItem:@"Your data"];
NSArray *sharingItems = [NSArray arrayWithObjects:
activityItem, _myUITextView.viewPrintFormatter, nil];
UIActivityViewController *activityController =
[[UIActivityViewController alloc]
initWithActivityItems:sharingItems applicationActivities:nil];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15510 次 |
最近记录: |