Objective C: addTarget:action:forControlEvent для кнопки подпредставления

Я делаю AP iPhone, которое содержит viewController класс (PhotoListViewController). Представление этого viewController имеет подпредставление, которое содержит кнопку, присоединенную как подпредставление. Я пытаюсь использовать addTarget:action:forControlEvent метод для вызова метода экземпляра класса PhotoListViewController для выполнения действия при нажатии кнопки, но метод не называют. Какие-либо мысли о том, как сделать эту работу?

Вот подходящий код. Я знаю Ваше первое, хотя будет то, почему я - вложенные подпредставления, но это просто дистиллированная версия моей программы - существуют причины, я делаю вложение. Я знаю, что существуют, вероятно, другие способы настроить программу, таким образом, я не должен делать, это вложение, но мой реальный вопрос - почему это не работает?

/Code/

    @implementation PhotoListViewController


- (void)loadView {
    [super viewDidLoad];
 //load elements into the viewController

 //first create the frame
 CGRect frameParent = CGRectMake(0, 0, 0, 0); 
 UIView *viewPerson = [[UIView alloc] initWithFrame:frameParent];

 CGRect frameChild = CGRectMake(0, 20, 0, 0); 
 UIView *newView = [[UIView alloc] initWithFrame:frameChild];

        UIButton *btnShow = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
 btnShow.frame = CGRectMake(230, 120, 80, 30);
 [btnShow setTitle:@"View!" forState:UIControlStateNormal ];
 [btnShow addTarget:self 
action:@selector(viewPhoto_click:) 
forControlEvents:UIControlEventTouchUpInside];
 [newView addSubview:btnShow];
 [viewPerson addSubview:newView];
        [newView release];

 [self setView:viewPerson];
 [viewPerson release];
}


- (void)viewPhoto_click:(UIButton*)sender {
 NSLog(@"HI");
}
1
задан Dave 23 February 2010 в 14:19
поделиться

1 ответ

Возможно, это не связано, но оба viewPerson и newView имеют ширину и высоту 0. Вы может захотеть дать этим представлениям ненулевой размер (3-й и 4-й аргументы CGRectMake ).

1
ответ дан 3 September 2019 в 01:09
поделиться