【问题标题】:not resulting in redraw when called from viewController从 viewController 调用时不会导致重绘
【发布时间】:2011-07-02 09:21:19
【问题描述】:

我有一个子视图,其中包含各种方法来更新我的数据,然后调用 [self setNeedsDisplay];调用 drawRect 来更新视图。

如果我从 viewController 调用这些方法之一,数据会更新,但不会调用 drawRect。

subView 被添加为 viewController 的一个属性: @property (nonatomic,retain) MyView *myView;

并在viewController中发起:

@synthesize myView;

 - (void)viewDidLoad {
    [super viewDidLoad];

    myView = [[MyView  alloc] init]; 

    }

我稍后在 viewController 中使用 [myView exampleMethod]; 在 myView 上调用一个方法

如何确保从 viewController 调用的方法重绘子视图?

【问题讨论】:

  • myView 的视图何时添加为视图控制器视图的子视图?当您在 viewDidLoad 中分配时,您似乎没有从 Nib 加载视图。那么你应该将它的视图添加为视图链的子视图才能正常工作?
  • 这是问题所在。我有一个令人困惑的布局,并且所引用的视图不是正在显示的视图。

标签: iphone objective-c ios


【解决方案1】:

你不用打电话吗

[self.view setNeedsDisplay];

:)

视图控制器中的默认视图仅称为“视图”,如果您想创建自己的视图,则必须将其添加到该视图或与之交换视图,如下所示:

self.view = myView;
//or
[self.view addSubview:myView];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 2015-10-13
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多