是否可以重绘整个视图。
我需要它来完成我的语言设置。问题是语言只有在再次绘制视图后才会改变。就像您退出设置然后再次进入一样,语言也会更改。但是当你保存所有内容时,语言保持不变。
那么,在发现语言更改后,我应该如何重新绘制我的视图,或者最好是整个应用程序?
In ARC:
- (void)setLanguage:(LanguageType)languageType
{
_language = languageType;
//TODO:your settings
[_theWholeView setNeedsDisplay];
}
如果这样还不行,有一个很麻烦的解决办法,那就是重新加载整个视图。
你可以这样编码:
在 view.h 中,您需要创建一个委托。
@protocol WholeView 委托
- (void)reloadData;
@end
在视图中.m
- (void)setLanguage:(LanguageType)languageType
{
_language = languageType;
//TODO:your settings
[_delegate reloadData];
}
在控制器中,您需要实现委托
在控制器.m中
- (void)reloadData
{
if(_wholeView)
{
[_wholeView removeFromSuperview];
}
// in the wholeView init method you should refresh your data
_wholeView = [[WholeView alloc] init];
self.view addSubview:_wholeView
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)