gpt4 book ai didi

objective-c - 在 ios 中重绘 View

转载 作者:可可西里 更新时间:2023-11-01 04:08:57 25 4
gpt4 key购买 nike

是否可以重绘整个 View 。

我需要它来完成我的语言设置。问题是语言只会在再次绘制 View 后发生变化。就像你走出设置再进去,然后语言就变了。但在您保存所有内容的那一刻,语言保持不变。

那么,在发现语言更改后,我应该如何重绘我的 View ,或者最好重绘整个应用程序?

最佳答案

在 ARC 中:

- (void)setLanguage:(LanguageType)languageType
{
_language = languageType;

//TODO:your settings

[_theWholeView setNeedsDisplay];
}

如果还是不行,有一个很麻烦的解决办法,就是重新加载整个view。

你可以这样编码:在 view.h 中,您需要创建一个委托(delegate)。@protocol WholeViewDelegate

- (void)reloadData;

@结束

在view.m中

- (void)setLanguage:(LanguageType)languageType
{
_language = languageType;

//TODO:your settings

[_delegate reloadData];
}

在 Controller 中你需要实现委托(delegate)在controller.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
}

关于objective-c - 在 ios 中重绘 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135502/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com