2013-10-14 48 views
0

在我的viewDidAppear我改變了我的一個ImageViews的框架視圖和所有其他方法將不會顯示它,直到我會[自我viewDidAppear]它 我覺得它不正確的,是有一些reloadData消息?重新加載viewDidAppear所以它將作爲ViewDidLoad的功能

謝謝。

+1

你不應該手動調用UIViewController的方法,一般來講。理想情況下,你會定義一個負責處理所有的意見設立的方法,並調用內viewDidAppear上述方法,並且不管你想要的「刷新」的觀點。 – Tim

回答

1

沒錯,調用[self viewDidappear]自己是不對的。

如果你需要改變的觀點框架,同時在看,自己創建一個方法,你可以調用每次你想,或者使用viewDidLayoutSubviews;

當視圖控制器視圖的邊界發生變化時,視圖會調整其子視圖的位置,然後系統會調用此方法。但是,調用此方法並不表示視圖子視圖的各個佈局已被調整。每個子視圖負責調整其自己的佈局。

此外,檢查你的方法有一個正確的實現:

-(void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    //Your code 
} 
+0

行,所以我「米創建的方法,並通過viewDidAppear調用,但它是如何不同?如何使用該方法將‘刷新’的觀點? – Yevgeni

+0

你確定你的viewDidAppear是correct_ –

+0

如果我的申請,我創造什麼UI編程,並在的viewController,我加入了從viewDidLoad方法的所有視圖?在這種情況下,如果我創建通用的方法,然後這些意見將被實例化和添加多次。因此,爲了避免這種情況,我將不得不刪除每個視圖的dealloc它和再次執行該方法,那麼應該有更好的選擇呢? – ViruMax

0

這將是更好地改變你的圖像視圖的框架中viewDidLayoutSubviews

0

你可能實現的錯功能。正確的方法簽名是:

- (void)viewDidAppear:(BOOL)animated 

不只是viewDidAppear

相關問題