简单的代码是在这里:的UIView setNeedsDisplay不起作用
定制MyButton.h
@interface PaiLifeReadingListButton : UIButton
@property (strong, nonatomic) UIImageView *logoImageView;
@end
定制MyButton.m
@implementation PaiLifeReadingListButton
@synthesize logoImageView = _logoImageView;
-(id)init
{
_logoImageView = [[UIImageView alloc] initWithFrame:CGRectMake(33.0, 20.0, 80.0, 80.0)];
[_logoImageView setImage:[UIImage imageNamed:@"pic"]];
[self addSubview: _logoImageView];
}
@end
定制MyView.h:
@property (strong, nonatomic) Mybutton *mybutton;
自定义MyView.m:
-(id) init
{
myButton = [[MyButton alloc] init];
[self addSubview:myButton];
}
ViewController.m:
@synthesize myView;
- (void)viewDidLoad
{
myView = [[Myview alloc] init];
[myView.myButton addTarget:self action:@selector(pressed:) forControlEvents:UIControlEventTouchDown];
self.view = myView;
}
-(void)pressed : (MyButton *)button
{
UIImageView *newImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"other-pic"] highlightedImage:nil];
myView.myButton.logImageView = newImageView;
[self.view setNeedsDisplay]; //----this does not work
}
当我按下按钮时,ImageView的不会改变。我怎样才能解决这个问题? 非常感谢!
设置newImageView.frame = logImageView.frame.Done需要调用setNeedsDisplay。 – dhcdht 2013-03-11 08:42:43
什么是'button',你在哪里添加了'myButton'? – 2013-03-11 08:50:00
@MidhunMP对不起,我犯了一个错误,我改变了代码。 – jxdwinter 2013-03-11 08:56:47