Tôi có chức năng chia sẻ trong ứng dụng của mình. Tôi đã sử dụng UIActivityViewController. Nhưng trong iOS 7 các biểu tượng phần bị cắt của ..iOS 7: Chia sẻ trong iOS 7 đã cắt các biểu tượng trong UIActivityViewController
Tôi đã sử dụng đoạn mã sau:
NSMutableAttributedString * title = [[NSMutableAttributedString alloc] initWithString: strTitle]; [tiêu đề addAttribute: NSFontAttributeName giá trị: [UIFont boldSystemFontOfSize: 12] phạm vi: NSMakeRange (0, strTitle.length)];
CustomActivityView *ActivityProvider = [[CustomActivityView alloc] init];
ActivityProvider.strToShare = [NSString stringWithFormat:@"<html><b>%@</b><br>%@<br><br></html>",title.string,someText];
NSArray *Items = @[ActivityProvider];
NSArray *act = @[];
UIActivityViewController* activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:Items
applicationActivities:act];
[self presentModalViewController:activityViewController animated:YES];
Tôi đã sử dụng bộ điều khiển Hoạt động tùy chỉnh:
@interface CustomActivityView : UIActivityItemProvider
{
NSString *strToShare;
NSString *shareTitle;
}
@property (nonatomic , strong) NSString *strToShare;
@property (nonatomic , strong) NSString *shareTitle;
@end
@interface CustomActivityView()
@end
@implementation CustomActivityView
@synthesize strToShare,shareTitle;
- (id) activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType
{
if ([activityType isEqualToString:UIActivityTypePostToTwitter])
{
}
else if ([activityType isEqualToString:UIActivityTypePostToFacebook]){
}
else if ([activityType isEqualToString:UIActivityTypeMessage]){
}
else if ([activityType isEqualToString:UIActivityTypeMail]){
}
else{
}
return nil;
}
@end