UIButton和setImage:不一致 - 不一致

ksp*_*ock 3 iphone uibutton uiview

我在UIView上有一个UIButton.我想以编程方式确定显示视图时按钮内显示的图像.我已经覆盖了UIView中的drawRect方法,并使用setImage来显示所需的图像.但是,当视图显示时,有时会绘制所需的图像,有时则不会.我必须触摸视图中的任何位置,以便图像显示在按钮中.请帮忙 !

这是视图的drawRect方法.

- (void)drawRect:(CGRect)rect
{
[myButton setImage:[UIImage imageNamed:@"myImage.png"] forState:UIControlStateNormal];
}
Run Code Online (Sandbox Code Playgroud)

一切都正确连接IB.我不明白为什么图像出现/不一致.非常感谢.

gro*_*hog 5

你真的不想覆盖drawRect.

正确的做法是实现UIViewController,并覆盖viewWillAppear : .

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self.myButton setImage:[UIImage imageNamed:@"myImage.png"] forState:UIControlStateNormal];
};
Run Code Online (Sandbox Code Playgroud)