2016-04-29 9 views
-1

In meiner App möchte ich IBAction Methode in viewDidLoad Methode aufrufen. Ich rufe [self myContest:nil]; so an. Wenn ich auf IBAction Methode klicke, funktioniert es gut, aber starten Sie den Bildschirm, der es nicht funktioniert.IBAction Methode ruft nicht in der viewDidLoad Methode auf?

zunächst wie das LCD-Display,

enter image description here

und hier das Was

IBAction-Code, ist das Problem? irgendeine Hilfe.

+0

genau definieren "nicht aufrufen". Wenn Sie einen 'NSLog()' oder einen Breakpoint auf 'myContest:' setzen, sehen Sie den Anruf? Wie soll man wissen, dass es funktioniert? – Larme

+0

@Larme es ruft an, zeigt aber nichts. –

+0

Was soll es zeigen? – Larme

Antwort

0

IBAction wird für eine Aktion aufgerufen. Um Ihre Anforderung zu erfüllen, können Sie eine Funktion mit dem Code erstellen, den Sie ausführen möchten, und dann diese Funktion von Ihrer viewDidLoad() Methode sowie von IBAction() Methode der Schaltfläche aufrufen.

void doTask() { 
    value = 0; 
    [tableViewContest reloadData]; 
    if(str.length > 0) 
    { 
     NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; 
    } 
} 

nun diese Funktion aus aufrufen, wo immer Sie wollen wollen:

-(IBAction)myContest:(id)sender { 
    doTask(): 
} 

oder

- (void)viewDidLoad:(BOOL)animated { 
    doTask(): 
} 
+0

Ich werde versuchen, Sie zu informieren. –

+0

Tut mir leid, nicht mit dieser –

+0

Was ist das Problem? Haben Sie versucht, das Problem zu beheben? –

0

erstens, wenn Sie es in ViewDidLoad anrufen möchten Sie es ändern, weil Sie nicht können Rufen Sie eine IbAction-Methode auf, umdidload direkt anzuzeigen

-(IBAction)myContest:(id)sender

zu

-(void) myContest

dann werden Sie in der Lage sein, es

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    [self myContest]; 

} 
+2

Wie soll das das Problem des Autors beheben? Sie können eine 'IBAction' aus Code aufrufen. – Larme

-1

Eine Möglichkeit, in viewDidLoad Methode aufzurufen ist, dass schaffen nur IBOutlet dieser Taste

@property (weak, nonatomic) IBOutlet UIButton *btn

und dann feuern Ereignis dieser Schaltfläche programmgesteuert.

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [btn sendActionsForControlEvents:UIControlEventTouchUpInside]; 
} 
-1

Sie haben ein Berührungsereignis zu einem UIButton in Ihrem viewDidLoad programmatisch gefälschte

[buttonObj sendActionsForControlEvents: UIControlEventTouchUpInside]; 
+0

Sie müssen nicht "eine Berührung fälschen". – Larme

Verwandte Themen