2012-10-12 73 views
1

可能重複:
C function calling objective C functions目標C:的UIButton不顯示

我已經做了下面的代碼ViewController.m

-(void) callIncomingCreateButton 
{ 

     UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

     //set the position of the button 
     button.frame = CGRectMake(100, 170, 100, 30); 

     //set the button's title 
     [button setTitle:@"Click Me!" forState:UIControlStateNormal]; 

     //add the button to the view 
     [self.view addSubview:button]; 
} 

- (IBAction)DemoCall:(id)sender { 

    callIncoming(1, "a"); 
} 

int callIncoming(int a, char* b) 
{ 
    ViewController * tempObj = [[ViewController alloc] init]; 
    [tempObj callIncomingCreateButton]; 

    return a; 

} 

不過還是UIButton的是沒有得到顯示,我在這裏錯過了什麼。

編輯:這是用於iOS的 和是的,函數確實被調用。我放了一個斷點並通過了它。

+0

確實callIncomingClass被調用? –

+0

什麼是目標平臺,iOS或OS X? – dngfng

+0

嘗試添加不同的東西。一個標籤。檢查它是否顯示正確 –

回答

0
ViewController * tempObj = [[ViewController alloc] init]; 
[tempObj callIncomingClass]; 

很難從你的例子說,但假設-callIncomingClass實際上是ViewControllercallIncoming()的定義是從別的地方叫的一部分,一個可能的問題是tempObj不是當前視圖控制器。您需要將tempObj推入導航堆棧,以模態方式呈現它,或者將tempObj設爲活動視圖控制器以便加載其視圖。如果它的視圖沒有被加載,那麼沒有視圖添加按鈕,並且即使它具有視圖,該視圖也不會出現在窗口中。

+0

是的,這可能是這種情況。不完全確定,因此沒有標記答案。讓我檢查一下,並確定它。 – Vinayaka