簡體   English   中英

如何重新加載UIVIew的UIViewController數據

[英]How to Reload UIViewController data of UIVIew

如何從UIView重新加載UIVIewcontroller數據。實際上我有一個UIVIewController ,它有一個UIView的Custom類UIViewcontrollerUIViewcontroller我有一個標簽,我需要打印在UIView定義的label值。 但是首先編譯了UIViewController viewdidload然后編譯器移動到UIView然后我怎么打印或重新加載UIVIewController

UILabel Text我已經在UIViewControllerView?DidLoad中定義了View?DidLoad類和從UIView類獲取的值

那么如何重新加載UIViewController

我在做的是:

UIVIewController (thirdTab)類

-(void)viewDidLoad{

 [self reloadInputViews1];

    }



-(void)reloadInputViews1{

appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
//  labelPrint.text=appDelegate.dayPrint;

[self.labelPrint setText:labelPrint.text];

}

UIView

- (void)drawRect:(CGRect)rect {

AppDelegate* appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    appDelegate.dayPrint=theDate;
    NSLog(@"appde%@",appDelegate.dayPrint);
    [appDelegate.thirdTab reloadInputViews1];
 }

但這不起作用......我無法在label.how中打印值來做到這一點..從UIViews獲取值

您可以在視圖上調用setNeedsDisplay以強制重繪它。 但我不確定這是最好的解決方案,事實上,你可以在你的視圖上直接調用setNeedsDisplay ,你可以在你的控制器上直接調用reloadInputViews1 ,它會是相同的(實際上,它會更好)。

除此之外,我不認為你目前的設計很干凈。 我建議您在視圖和控制器之間定義委托協議,以使這種關系更加明確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM