2013-07-08 7 views
3

Когда пользователь нажимает на экран, PopUp должен появиться с кнопкой в ​​нем. Но я не знаю, почему кнопка не отображается в PopUp. Есть проблема, потому что это subview в подвью?Добавление UIButton в subView

-(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]; 
} 

EDIT:

Возможно ли, что координаты UIButton неверны? Я не уверен, что система координат находится из основного представления или из подпункта popUp.

+0

Координаты от всплывающего окна, а не основного вида. Скорее всего, это не проблема. –

ответ

2

Кнопка есть, но не видна из-за maskToBounds, установленной в YES. Попробуйте просто установить для NO только для целей тестирования. Затем зафиксируйте координаты x, y для кнопки.

+0

Да, теперь он отлично работает. Спасибо за это! – Sebastian

2

Если кнопка будет дочерней частью подвью, вам необходимо добавить кнопку до добавления вида, содержащего ее к главному виду .... т. Е. вы слишком поздно добавляете кнопку.

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

Я протестировал это, и это не устранило проблему. –

+0

Не работал для меня ни ... – Sebastian

Смежные вопросы