Как программно добавить кнопку выхода в UIView - PullRequest
1 голос
/ 23 января 2012

Когда я создал UIView в своем суперпредставлении, я хочу добавить к этому представлению кнопку, которая будет действовать как кнопка выхода.Так что при нажатии он удалит этот UIView из моего суперпредставления, как мне это сделать?Вид и кнопка в этом виде создаются программно при нажатии кнопки

- (IBAction)skillButtonPressed:(UIButton *)sender 
{
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(40, 130, 240, 232)];
    UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [cancelButton setFrame:CGRectMake(0, 0, 32, 32)];
    [cancelButton setTitle:@"x" forState:UIControlStateNormal];

    [myView addSubview:cancelButton];
    [self.view addSubview:myView];
}

Ответы [ 3 ]

4 голосов
/ 23 января 2012

В своем классе, который создает представление, добавьте функцию, подобную этой:

//tag for subview - make it unique
#define SUBVIEW_TAG 9999 

- (void) handleExit
{
    UIView * subview = [self.view viewWithTag:SUBVIEW_TAG];
    [subview removeFromSuperview];
}

, а при создании подпредставления сделайте:

- (IBAction)skillButtonPressed:(UIButton *)sender 
{
    UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(40, 130, 240, 232)];
    UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [cancelButton addTarget:self action:@selector(handleExit) forControlEvents:UIControlEventTouchUpInside];
    [cancelButton setFrame:CGRectMake(0, 0, 32, 32)];
    [cancelButton setTitle:@"x" forState:UIControlStateNormal];

    [myView addSubview:cancelButton];
    [myView setTag:SUBVIEW_TAG];
    [self.view addSubview:myView];

    //don't forget to release if you are not using ARC!
}
1 голос
/ 23 января 2012

Вы даже можете скрыть вид или [self removeFromSuperview];

1 голос
/ 23 января 2012

Вот код для вас:

        self->myButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self-> myButton = CGRectMake(60, 6, 180, 30);
    [self-> myButton setTitle:@"MyButton" forState:UIControlStateNormal];
    [self-> myButton setTextColor:[UIColor whiteColor]];
    self-> myButton = 1;
    [self-> myButton addTarget:self action:@selector(myButtonTouchUpInside:) forControlEvents:UIControlEventTouchUpInside];
    [self addSubview:self-> myButton];

Изменить координаты размещения вашей кнопки

In myButtonTouchUpInside Реализация метода,

[self removeFromSuperview];

Надеюсь, это то, что вы хотите ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...