Возможно ли обычная UIActivity с иконкой закладки?
1 FlyingPiMonster [2014-11-28 04:01:00]
Часть моего приложения iOS - просмотрщик файлов с помощью UIActivityViewController. Из этого я хотел бы, чтобы пользователи могли делать нормальные действия с файлом, например, отправлять его по почте, сохранять его на фотографиях (если это фотография) и все остальное. Однако у моего приложения есть функция закладок. Я хотел бы, чтобы пользователи могли добавлять закладки в это меню. Я создал пользовательский UIActivity, чтобы добавить объект в список закладок, но мне не удалось выяснить, как использовать значок системной закладки. Возможно ли это?
EDIT: для пояснения это находится в меню, которое вы получаете, когда вы нажимаете кнопку "Поделиться".
user-interface ios uiactivityviewcontroller
1 ответ
0 soulshined [2014-11-28 08:23:00]
Очень просто. Все зависит от того, как вы его инициируете, это в навигационном контроллере, жестом салфетки, элементе панели инструментов или просто обычной кнопке? В любом случае это не имеет значения, но если вы хотите получить конкретный ответ, вам придется задать конкретный вопрос.
Вот пример того, как выполнить свою цель, используя кнопку закладки, которая подключена в интерфейсе Storyboard, однако IBActions для addToFav и загрузка не являются интерфейсом и не должны быть:
-(IBAction) moreActions:(id)sender {
UIActionSheet *moreActions = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Add To Favorites", @"Download For Offline View",@"Open Document In :", nil];
[moreActions showInView:self.view];
}
И способ, которым вы выполняете действия, - это вызов метода ниже:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
switch (buttonIndex) {
case 0: [self addToFav:self]; //See IBAction below
break;
case 1: [self download:self]; //See IBAction below
break;
case 2: {
//UIDocumentInteractionController:
NSURL *docURL = [NSURL URLWithString:@"filePathStringHere"];
documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:docURL];
[documentInteractionController setDelegate:self];
[documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
}
break;
}
}
- (IBAction)download:(id)sender {
//enter your download code here
}
- (IBAction)addToFav:(id)sender {
//Code to add to your favorites
}