3

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

-(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 的坐标有可能是错误的吗?我不确定坐标系是来自主视图还是来自弹出子视图。

4

2 回答 2

2

如果按钮将成为子视图的子视图,那么您需要在将包含它的视图添加到主视图之前添加按钮......即您添加按钮为时已晚。

//Move this line to the end of the block
[self.view addSubview:popUp];//call this after you add your subViews to popUp
于 2013-07-08T19:57:01.907 回答
2

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

于 2013-07-08T20:14:55.150 回答