Как создать стандартную кнопку для доступа к iOS?

В Руководстве по человеческому интерфейсу iOS говорится :

Используйте кнопку «Предоставить доступ к системе». Пользователи знакомы со значением и поведением этой кнопки, поэтому рекомендуется использовать ее, когда это возможно. Основное исключение – если ваше приложение не содержит панели инструментов или панели навигации [, поскольку] кнопка «Поделиться» может использоваться только на панели инструментов или на панели навигации.

Хорошо, но как я могу использовать кнопку «Предоставить доступ к системе»? Поиск документации не приносит ничего полезного.

Я понял, что должен использовать UIActivityViewController в своем ответе на кнопку, которая будет прослушиваться , но как я могу создать стандартную кнопку «Поделиться» в первую очередь?

6 Solutions collect form web for “Как создать стандартную кнопку для доступа к iOS?”

Стандартная кнопка Share – это UIBarButtonItem (поэтому она может работать только на панели навигации или панели инструментов). Вам нужно создать «элемент системы» ; в частности, «элемент действия» . Элемент кнопки «действие» – кнопка «Поделиться».

Вот код. Я предполагаю, что вы находитесь внутри ViewController, поэтому у меня есть свойство navigationItem.

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareAction:)]; self.navigationItem.rightBarButtonItem = shareButton; 

Это происходит в вашем представленииDidLoad:

 UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(compartir:)]; self.navigationItem.rightBarButtonItem = shareButton; 

И определите свой метод выбора, который вызывается как действие (в моем случае, называемом «compartir»):

 - (void) compartir:(id)sender{ //Si no NSLog(@"shareButton pressed"); NSString *stringtoshare= @"This is a string to share"; UIImage *imagetoshare = img; //This is an image to share. NSArray *activityItems = @[stringtoshare, imagetoshare]; UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypePostToTwitter, UIActivityTypePostToWeibo]; [self presentViewController:activityVC animated:TRUE completion:nil]; } 

Системная кнопка Action также может быть полностью создана с помощью Interface Builder. Для этого просто перетащите UIToolbar в свой вид. Затем перетащите элемент UIBarButtonItem в UIToolbar. В качестве следующего шага выберите в иерархии представления UIBarButtonItem , перейдите к инспектору атрибутов и выберите в качестве элемента системы «Действие». Готово!

Кроме того, можно подключить UIBarButtonItem к вашему классу как IBOutlet или IBAction.

Обратите внимание: я использую в качестве ссылки Xcode 7.

Main.storyboard -> Элемент панели бара -> Инспектор -> Элемент системы выбрал "Действие" введите описание изображения здесь

Вот код для Swift 3.

 func addShareBarButtonItem() { let shareButton = UIBarButtonItem(barButtonSystemItem: .Action, target: self, action: #selector(MyViewController.shareButtonPressed)) self.navigationItem.rightBarButtonItem = shareButton } func shareButtonPressed() { //Do something now! } 
  • Как реализовано представление приложения iPhone Contact app
  • awakeFromNib, выходы и раскадровки: неправильная документация?
  • willMoveToWindow вызывается дважды
  • Авария UITextFieldDelegate (exc_bad_access)
  • Рисование в фоновом потоке на iOS
  • Как сделать UISlider толще, когда он впервые отображается?
  • Предотвращение UILabel от символов обертывания символов
  • Как сделать снимок экрана программно в iOS?
  • preferredStatusBarStyle не вызывается
  • Какова связь между клипами UIViewToBounds и масками CALayerToBounds?
  • UIStackView «Невозможно одновременно удовлетворить ограничения» на «скрипучих» скрытых представлениях
  • Есть ли способ использовать UIView / CALayer в OpenGL или GLKit от Apple без рендеринга в UIImage / CGImageRef?
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.