Я подклассы UIControl и в нем я посылаю:Подкласс UIControl не может принять цель?
[self sendActionsForControlEvents:UIControlEventValueChanged];
Когда я создаю экземпляр объекта, я добавляю цель следующим образом:
[starView addTarget:self action:@selector(starRatingChanged:) forControlEvents:UIControlEventValueChanged];
мнение проявляется в порядке, и без целевой функции функциональность работает хорошо. Но с добавлением цели она падает. Любые идеи почему?
Мой класс объявлен с:
@interface RMStarRating : UIControl {...}
Для чего это стоит, я настроил свой вид в - (void)layoutSubviews
. Есть ли другой метод, который мне нужен для подкласса, чтобы цели были правильно сохранены или чтобы цели были отправлены правильными действиями? Я думал, что UIControl справляется с сохранением целей и действий для вас.
UPDATE: попытка предоставить больше информации
Я установил объект следующим образом:
RMStarRating *starView = [[RMStarRating alloc] initWithFrame:CGRectMake(10, 70, 23*5, 30)];
[starView addTarget:self action:@selector(starRatingChanged:) forControlEvents:UIControlEventValueChanged];
....
[self.view addSubview:starView];
Мои sendAction, согласно предложению Иордании:
- (void)sendAction:(SEL)action to:(id)target forEvent:(UIEvent *)event {
NSLog(@"send action");
[super sendAction:action to:target forEvent:event];
}
Моя функция, которая вызывает sendActionsForControlEvents :
- (void)updateValue:(UITouch *)touch {
....
NSLog(@"sendActionsForControlEvents");
[self sendActionsForControlEvents:UIControlEventValueChanged];
}
И функция, которая должна быть вызвана (и это в заголовке тоже):
- (void)starRatingChanged:(id)sender {
NSLog(@"star rating changed");
}
И журнал просто выплевывает:
2010-10-22 09:45:41.348 MyApp[72164:207] sendActionsForControlEvents
2010-10-22 09:45:41.350 MyApp[72164:207] send action
отладчик имеет:
Почему он падает? Какая строка кода? Что говорит стек вызовов? Трудно спекулятивно диагностировать сбои. –
Я не знаю, почему он разбился, вот что я пытаюсь выяснить. Он вылетает на sendActionsForControlEvents: (если я не отвечу Джордану, и в этом случае он выйдет из строя во время него). Что-то не так между подключением UIController и моим классом, я думаю. И журнал не плюет ничего, когда он умирает. – RyanJM