我厌倦编程我的子视图,因为我想有很好的圆形按钮与图像。所以我写了myView.h和myView.m与init方法至极看上去某事像这样:保持MVC清洁与编程写入视图
- (id)init
{
if (self = [super init]){
redBlack = [UIImage imageNamed:@"redB.png"];
redWhite = [UIImage imageNamed:@"redW.png"];
redButton = [UIButton buttonWithType:UIButtonTypeCustom];
redButton.frame = CGRectMake(20.0, 30.0, 130.0, 130.0);
[redButton setBackgroundImage:redBlack forState:UIControlStateNormal];
[redButton setBackgroundImage:redWhite forState:UIControlEventTouchDown];
[redButton addTarget:self action:@selector(controller.colorButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[redButton setTag:0];
[self.view addSubview:redButton];
.....
的问题是,colorButtonPressed是一种方法,这是写在我的ControllerView - 辛格尔顿。 我不知道我是否这样做,但实际上我想保持MVC尽可能干净。是否这样做是一种常见的方式,如果是这样,编译器不让我写controller.colorButtonPressed:in @selector?!? 或者我应该在我的控制器类中指定以编程方式编写的视图?
希望这些问题不要听起来太愚蠢!
并提前致谢!取而代之的
[redButton addTarget:self action:@selector(controller.colorButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
但colorButtonPressed方法:没有在同一类中声明? – NewYearsEve 2011-04-17 08:55:53
但目标是动作发送到的地方。我以为你在'controller'中有'colorButtonPressed:'? – 2011-04-17 08:59:56
是的,我这样做,哦,所以行动得到承认,虽然它不是写在这个类。那么我需要将方法声明为IBAction吗?我以为我不必这样做,如果我自己写视图。 – NewYearsEve 2011-04-17 09:21:08