我试着问这个问题,但不知怎么我没能正确地表达自己,所以我删除了它,重新开始了。
我有一个层次结构:- ViewController => UIView => Stepper
这是我的UIView代码:-
@implementation Controls
@synthesize m_numColumn=_whatever;
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
int i;
m_numColumn= [[UIStepper alloc]init];
m_numColumn.frame = CGRectMake(1, 1, 30, 30);
m_numColumn.autorepeat= FALSE;
[m_numColumn setValue:2];
m_displayColumnNum= [[UILabel alloc]init];
m_displayColumnNum.frame = CGRectMake(30, 30, 60, 30);
// m_displayColumnNum.backgroundColor =lgammaf(<#float#>);
// m_displayColumnNum.text= [NSString stringWithFormat:@"aaaaaa"];
i= m_numColumn.value;
m_displayColumnNum.text= [NSString stringWithFormat:@"%d",i];
[self addSubview:m_numColumn];
[self addSubview:m_displayColumnNum];
// Controls.delegate = [m_numColumn.navigationController.viewControllers objectAtIndex:0];
[m_numColumn addTarget:self action:@selector(stepperChanged:) forControlEvents:UIControlEventTouchUpInside];
//[m_numColumn setdelegate];
}
return self;
}这里的重点是:
[m_numColumn addTarget:self action:@selector(stepperChanged:) forControlEvents:UIControlEventTouchUpInside];我想要的是在UIViewController (父对象)中对该事件作出反应。我该怎么做?
发布于 2013-03-07 14:18:04
问题是你没有得到这个活动吗?我一直在“UIStepper”中使用"UIControlEventValueChanged",在您的例子中应该是:
[m_numColumn addTarget:self action:@selector(stepperChanged:) forControlEvents:UIControlEventValueChanged];发布于 2013-03-07 14:42:39
您正在收听的controlEvents是有意义的,但目标也有问题。
[m_numColumn addTarget:self action:@selector(stepperChanged:) forControlEvents:UIControlEventTouchUpInside];您不应该使用"self“,它是对视图的引用,而不是对视图控制器的引用,要么使用"myController”变量,要么在控制器内执行此方法
https://stackoverflow.com/questions/15273208
复制相似问题