簡體   English   中英

重新加載UIViewController和XIB

[英]Reload UIViewController and xib

我有一個具有MyViewController的應用程序,其中包含兩個子類MyViewControllerMain和MyViewControllerSettings。

在MyViewControllerSettings中,我允許用戶更改字體,顏色等。如何指示MyViewControllerMain刷新自身,以便顯示更改?

謝謝托尼

這是我在做什么:

I initialize it in viewDidLoad of my superclass like this:

m_fFontSize = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) ? 28 : 16;
m_MyFont = [UIFont fontWithName:@"Greg's Hand" size:m_fFontSize];

然后在派生設置類中,我這樣做:

NSString * sFont = [fontList objectAtIndex:row];
m_MyFont = [UIFont fontWithName:sFont size:m_fFontSize];

在viewWillAppear中我衍生的MainView類中,我這樣做:

tfName.font = m_MyFont;

這取決於-如果您的MyViewControllerMain中有UILabel,UIButton等,並且您更改了它們的字體/顏色,它們應該自行更新(確保您確實設置了字體,顏色等!)。

否則,您可以隨時嘗試[[myViewController view] setNeedsDisplay]

為此,您需要使用設置重繪整個視圖。

對於每次,方法名稱:

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

           //Over here just set the font size of all the controllers you are using.
            This will definitely solve your problem since this method is called every time before the View Appears.
    }

暫無
暫無

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

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