如何让UIViewController正确刷新/更新其视图?

时间:2012-07-12 04:16:38

标签: iphone objective-c xcode uiview

我有一个UIViewController,其标签可以从外部服务器获取其文本集。在viewDidLoad我添加:

[self.view addSubview:label];

几分钟后服务器更新文本,在应用程序中我按下一个激活该按钮的按钮:

[self.view setNeedsDisplay];

但在重新编译应用程序之前,标签的文本不会更新。如何让子视图标签刷新/从服务器获取新文本?

3 个答案:

答案 0 :(得分:0)

label.text = @"new title";怎么样?

答案 1 :(得分:0)

您需要在Buttons事件中添加setText。

-(void) viewDidLoad{
 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
 [button addTarget:self action:@selector(buttonPressMethod:) forControlEvents:UIControlEventTouchDown];
 button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0);
 [self.view addSubview:button];

  [super viewDidLoad];
}

-(void) buttonPressMethod:(id) sender
{
   label.text = @"The updated text from the server";
}

答案 2 :(得分:0)

- (无效)viewWillAppear中
{
  NSTIMER * chat = [NSTimer scheduledTimerWithTimeInterval:40 target:self selector:@selector(getdata)userInfo:nil repeats:YES]; //方法每40秒调用一次

}

- (无效)的GetData
{
    从服务器调用数据并替换标签中的数据 }