Простой код здесь: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. Не нужно вызывать setNeedsDisplay. – dhcdht
Что такое 'button' и где вы добавили' myButton'? –
@MidhunMP Извините за это, я допустил ошибку, и я меняю код. – jxdwinter