/ / Prístup na navigačnú lištu v kóde - ios, rýchly, navigačný panel

Prístup k navigačnej lište v kóde - ios, rýchly, navigačný panel

Mám tlačidlo na pravej strane môjho bar, je to Done Tlačidlo. Vytvoril som ho na mojom storyboarde. Snažím sa to zakázať v kóde. Ako môžem získať prístup k tomuto tlačidlu?

odpovede:

4 pre odpoveď č. 1

Existujú dva spôsoby, ako to urobiť:

  1. Keď ste vytvorili tlačidlo pomocou nástroja Interface Builder, môžete vyhlásiť @IBOutlet pomocou nástroja drag-and-drop Xcode a vypnutie / skrytie tlačidla na navigačnej lište nasledujúcim spôsobom:

    // hide the button
    self.rightButton.hidden = true
    
    // disable the button
    self.rightButton.enabled = false
    
    // change its title
    self.rightButton.setTitle("NEW TITLE", forState: .Normal)
    

    Kde @IBOutlet je takto:

    @IBOutlet weak var rightButton: UIButton!
    
  2. V prípade, že nechcete vyhlásiť žiadnu @IBOutlet môžete nastaviť self.navigationItem.rightBarButtonItem na nil na akomkoľvek mieste, ktoré chcete vložiť týmto spôsobom:

    // remove the button
    self.navigationItem.rightBarButtonItem = nil
    
    // disable the button
    self.navigationItem.rightBarButtonItem?.enabled = false
    

    A vyššie uvedený kód zakáže predchádzajúce tlačidlo, ktoré ste nastavili.

Dúfam, že vám to pomôže.


0 pre odpoveď č. 2
navigationItem.rightBarButtonItem?

0 pre odpoveď č. 3
if let iuRightNavigationButton = self.navigationItem.rightBarButtonItem
{
iuRightNavigationButton.enable = false
}

V zásade skontroluje položku rightBarbutton, ak je tam jedna, potom ju deaktivuje. Nemusíte deklarovať iboutlet to urobiť


-1 pre odpoveď č. 4

pokúste sa vytvoriť zásuvku v ovládači zobrazenia: @IBOutlet slabý var urobilButton: UIBarButtonItem! prepojte barbuttonItem s premennou doneButton v storyboarde.

priradená hodnota false, ak ju chcete zakázať. Pri pohľade sa načíta:

doneButton.enabled = false