Подтвердить что ты не робот

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

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

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

ОК, но как я могу использовать кнопку "Предоставить доступ к системе"? Поиск документации не приносит ничего полезного.

Я понял, что должен использовать UIActivityViewController в ответе на кнопку, нажав кнопку, но как я могу создать стандартную кнопку Share?/p >

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

Это отображается в вашем представлении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];
}

Ответ 4

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

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

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

Ответ 5

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

Ответ 6

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

func addShareBarButtonItem() {

    let shareButton = UIBarButtonItem(barButtonSystemItem: .Action, target: self, action: #selector(MyViewController.shareButtonPressed))

    self.navigationItem.rightBarButtonItem = shareButton
}

func shareButtonPressed() {
    //Do something now!
}