Я не могу вызвать метод, который написан в UIViewController (aViewController) из моего пользовательского представления bView. Я хочу назвать метод Функция на моей кнопке (btn) нажмите в UIView (bView). Но когда я нажимаю кнопку, я получаю следующую ошибку.Как вызвать метод из класса UIViewController в пользовательский класс UIView
непризнанным селектор отправляется, например ....
Вот мой код:
aViewController.h
#import "bView.h"
#import "cViewController.h"
-(void)function;
aViewController.m
-(void)viewDidLoad{
bView = [[bView alloc]init];
[bView makeView];
bView.bViewController = self;
[self.view addSubView:bView];
}
-(void)function{
cViewController *nextViewController = [[cViewController alloc] initWithNibName: nil bundle: nil];
[self.navigationController pushViewController: nextViewController animated: YES];
}
bView.h
#import "bViewController.h"
@interface bView : UIView{
UIButton btn;
bView *BView;
}
-(void)makeView;
-(void)function;
@property (nonatomic,readonly) UIButton *btn;
@property (assign) UIViewController* aViewController;
bView.m
#import "bView.h"
#import "aViewController.h"
@impementation bView
@synthesize btn;
@synthesize aViewController;
-(void)makeView{
btn= [UIButton buttonWithType:UIButtonTypeRoundedRect];
UIImage *btnimg = [UIImage imageNamed:@"btn.png"];
[btn setBackgroundImage:btnimg forState:UIControlStateNormal];
btn.frame = CGRectMake(65, 380, 60, 60);
[self addSubview:btn];
btn.userInteractionEnabled = YES;
[btn addTarget:aViewController action:@selector(function) forControlEvents:UIControlEventTouchUpInside];
}
Как решить эту проблему?
Вы пытались использовать 'strong' для' readonly' в '@property (nonatomic, readonly) UIButton * btn;'? – anhtu
переключите две строки '' 'bView.bViewController = self;' '' 'и' '' [bView makeView]; '' ' –
Спасибо, что ответили на anhtu и Fabio Berger.I мог решить эту проблему! – zmbdr