【问题标题】:Nested Views-button is not clicking嵌套视图按钮未单击
【发布时间】:2010-03-26 11:45:28
【问题描述】:

我有一个视图,其中添加了一个日期选择器和一个按钮。 还有另一个视图将上述视图添加为子视图。 但是像 touchesBegan 和按钮的操作这样的事件并没有在子视图上被点击。 请帮忙

父视图的代码是:

iTagDatePicker *dt=[[iTagDatePicker alloc] initWithFrame:CGRectMake(0.0, 180.0, 320.0, 240.0)];
    //dt.userInteractionEnabled=YES;
    //[dt becomeFirstResponder];

    dt.backgroundColor=[UIColor clearColor];
    [UIView beginAnimations:@"animation" context:nil];
    [UIView setAnimationDuration:1.0];
    CGPoint cntr;
    cntr.x=160.0;
    cntr.y=420.0;
    dt.center=cntr;
    [self.view addSubview:dt];
    self.view.userInteractionEnabled=YES;
    CGPoint cntr1;
    cntr1.x=160.0;
    cntr1.y=158.0;
    dt.center=cntr1;
    [UIView commitAnimations];
    [dt release];

子类的代码是:

- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        dtPicker=[[UIDatePicker alloc] initWithFrame:CGRectMake(frame.origin.x, frame.origin.y, 320.0, 216.0)];
        dtPicker.datePickerMode=UIDatePickerModeDate;
        dtPicker.date=[NSDate date];
        [self addSubview:dtPicker];

        btn=[[UIButton buttonWithType:UIButtonTypeDetailDisclosure]retain];
        btn.frame=CGRectMake(110.0, 400.0, 100.0, 20.0);
        [btn setTitle:@"Done" forState:UIControlStateNormal];
        btn.userInteractionEnabled=YES;
        [btn becomeFirstResponder];
        [btn addTarget:self action:@selector(SelectedVal:) forControlEvents:UIControlEventTouchDown];
        [self addSubview:btn];


    }
    return self;
}

按钮不工作

【问题讨论】:

    标签: iphone view nested


    【解决方案1】:

    子类化父视图并将触摸传递给其子视图。

    【讨论】:

    • 嗨。我已经添加了代码。你能详细说明我做错了什么吗?
    • 我不知道。但是,如果您想正确执行此操作,请将父 UIView 子类化,为 UIButton 和日期选择器对象添加属性,然后将触摸传递给这些属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    • 2013-03-11
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    相关资源
    最近更新 更多