У меня есть контроллер просмотра, в котором есть UIButton
. У меня есть UIView
в этом контроллере просмотра, который принимает подписи. Существует файл .h
и .m
, связанный с UIView
. Файл UIView's
.m
имеет метод стирания. Я хочу, чтобы UIButton
в моем контроллере просмотра мог вызвать этот метод стирания, но я не уверен, как это сделать. Вот код, который я пытался:Просмотреть метод вызова контроллера на подвале
-(IBAction)clearButtonPressed:(id)sender
{
SignatureView *SC = [[SignatureView alloc] init];
[SC erase];
NSLog(@"Pressed");
}
В NSLog
работает, так что я знаю, что действие вызывается. Что дает?
EDIT:
Ответ выполнен; вроде.
NSLog(@"Erased");
работает, поэтому я знаю, что кнопка работает, но она не стирается. Вот код Стирание:
- (void)erase {
path = [UIBezierPath bezierPath];
[self setNeedsDisplay];
NSLog(@"Erased");
}
Вы создаете новый экземпляр 'SignatureView', а затем вызываете' erase' на нем, а затем игнорируете его навсегда. Вы должны вызвать 'erase' на экземпляре, который уже имеет ваш контроллер представления. –
@CarlVeazey - Понял. Где инициализируется UIView? –
Либо где-нибудь в вашем коде, либо в банке/раскадровке. Найдите строки, такие как 'SignatureView alloc' или' SignatureView new', а также посмотрите на иерархию представлений в nib, исследуя класс каждого представления с помощью Inspector. –