Как поставить цель и действие для UIBarButtonItem во времени выполнения

as.logical (c (0,0,0,1)) == c (F, F, F, T)

Объяснение

В R значения numeric обрабатываются иначе, чем значения logical.

В вашем сценарии, поскольку 2 является первым элементом массива, он возвращается для второй операции подмножества (и 0-го элемента нет).

PS Только для нескольких операций (например, ==) логические значения сначала приводятся к числовым. Спасибо @IceCreamTouchan, чтобы добавить это в комментариях выше.

61
задан Haroldo Gondim 29 August 2018 в 12:52
поделиться

3 ответа

Просто установите свойства UIBarButtonItem target и action напрямую.

101
ответ дан 24 November 2019 в 17:04
поделиться

Swift 5:

Извлечение к расширениям:

extension UIBarButtonItem {

    static func nextBtn(target: AnyObject, action: Selector) -> UIBarButtonItem {
        let title = "Next"
        return button(title: title, target: target, action: action)
    }

    private static func button(title: String, target: AnyObject, action: Selector) -> UIBarButtonItem {
        return UIBarButtonItem(title: title, style: .done, target: target, action: action)
    }

}

Вызов в коде:

navigationItem.rightBarButtonItem = .nextBtn(target: self, action: #selector(rightBarButtonAction))

Действие:

@objc func rightBarButtonAction() {
    Swift.print("Button tapped!")
}

Довольно легкий добавить новые кнопки к этой фабрике.

0
ответ дан 24 November 2019 в 17:04
поделиться

Я столкнулся с похожей проблемой... Я предполагаю, что вы имеете в виду, что если ваш UIButton не является частью UITabBar для вызова btnClicked, то он работает должным образом. Если вы предлагаете именно эту проблему, то проверьте ваш метод btnClicked и измените его с:

-btnClicked:(id)sender

на

-(void) btnClicked:(id)sender

that, и объявите btnClicked в заголовочном файле...

Вот как я настраиваю кнопку в tabbarbuttonitem:

UIBarButtonItem *exampleButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"button.png"] style:UIBarButtonItemStylePlain target:self action:@selector(btnClicked:)];
14
ответ дан 24 November 2019 в 17:04
поделиться