在我的通用應用程序中,我有一個UIScrollView內的UIControl視圖。刷新UIView從子視圖
在按下設置按鈕,我再添查看子視圖,類似這樣的:像預期顯示
SetupController *setupview = [[SetupController alloc] initWithNibName:@"SetupView-iPad" bundle:nil];
[mainview addSubview:setupview.view];
子視圖。 在這個子視圖中,我有一些按鈕,它允許用戶在設置之間切換。 執行的操作保存在本地數據庫中。
問題是:在子視圖中的ButtonClick上,我必須刷新主視圖以應用更改。我測試過許多方法可以做到這一點:
在子視圖類:
[self.parentViewController.view setNeedsDisplay];
沒有結果。
然後我試圖通過通知刷新MAINVIEW:
我說這個我子視圖類文件,以改變我的設置功能。
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName:@"setEmoticon_NOTIFICATION" object:self];
}
然後,我添加觀察者到我在viewDidLoad方法MAINVIEW:
[[NSNotificationCenter defaultCenter]的addObserver:自選擇器:@selector(refreshView)名稱:@ 「setEmoticon_NOTIFICATION」 對象:無];
,並建立了功能,該觀察:「通知」
-(void)refreshView{
NSLog(@"Notification!");
[self.view performSelectorOnMainThread:@selector(setNeedsDisplay) withObject:nil waitUntilDone:YES];
}
在登錄我得到的在更改設置。但無論我嘗試什麼,都不要刷新。 我試過setNeedsDisplay,resignFirstResponder,[self viewDidLoad:],但仍然沒有用。
任何想法如何刷新我的主視圖?
你的主要觀點是什麼樣的觀點? –