2012-02-13 26 views
0

我有一個標籤,一些數字按鈕和一些簡單的操作按鈕的基本計算器應用程序。在這個應用程序的屏幕底部,顯示另一個視圖(AdvancedView)的頂部,並且有一個按鈕,點擊後,子視圖向上滑動到UILabel的底部。我能夠從CalcViewController類訪問中的UILabel目前的文本,因爲有一個出口:如何從另一個類的UILabel插座獲取當前文本?

@property (strong, nonatomic) IBOutlet UILabel *display; 
在.H

只需調用:

self.display.text 

但是我有一個對squareRoot按鈕我的AdvancedView(向上滑動的視圖)也需要訪問UILabel文本。我怎樣才能從另一個類獲取和設置UILabel文本?

回答

2

你可以這樣做:

NSString *text = nil; 
UIViewController *otherViewController; 

for (UIView *view in [otherViewController.view subviews]) 
{ 
    if ([view isKindOfClass:[UILabel class]]) 
    { 
     UILabel *label = (UILabel *) view; 
     text = label.text; 
     break; 
    } 
} 

if (text == nil) 
{ 
    NSLog(@"Hmm, couldn't find the view..."); 
} 
0

你必須@synthesize你的文本以及

@synthesize display 

然後在文件中要使用它的進口,你在製作的標籤文件,然後給它一個指向該類的指針。 (在新的.h文件中)

CalcViewController* calcViewController; 

那麼你的代碼中,你會怎麼做:

calcViewController.display.text; 
+0

這是否僅適用於子?因爲我正在嘗試一個完全不同的類,它實際上是UIVew的一個子類。無論如何,我喜歡你所說的和不能看到的標籤。在我的NSLog中,當我打電話給輸入了數字的標籤時,它打印0.0000。 – Scott 2012-02-14 03:36:39

相關問題