将UIButton添加到subView

时间:2013-07-08 19:33:13

标签: iphone ios

当用户点击屏幕时,PopUp应该会出现一个按钮。 但我不知道为什么按钮没有显示在PopUp中。是否存在问题,因为它是子视图中的子视图?

-(void) popUpWithX:(int)x andY:(int)y {
    CGRect popUpRect = CGRectMake(x, y, 125, 75);
    popUp = [[UIView alloc] initWithFrame:popUpRect];
    popUp.backgroundColor = [UIColor whiteColor];
    popUp.layer.cornerRadius = 7.5f;
    popUp.layer.masksToBounds = YES;

    [self.view addSubview:popUp];
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 30)];
    [button setTitle:@"Click me!" forState:UIControlStateNormal];
    [popUp addSubview:button];
}

编辑:

UIButton的坐标是否可能错误?我不确定坐标系是来自主视图还是来自popUp子视图。

2 个答案:

答案 0 :(得分:2)

如果按钮将成为子视图的子视图,则需要在将包含它的视图添加到主视图之前添加按钮....你太迟了添加按钮。

//Move this line to the end of the block
[self.view addSubview:popUp];//call this after you add your subViews to popUp

答案 1 :(得分:2)

按钮在那里,但由于maskToBounds设置为YES,因此不可见。尝试将其设置为NO仅用于测试目的。然后修复按钮的x,y坐标。