добавить uiview при выборе строки - PullRequest
1 голос
/ 27 февраля 2012

Я хочу, чтобы в центре ячейки появилась вкладка в строке UIView, содержащая две кнопки, поэтому я сделал следующий код

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //how can I get the text of the cell here?
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

    UIView *v = [[UIView alloc] init];

    v.center  = cell.center;

    UIButton*button1 =[[UIButton alloc] init];

    button1.frame = CGRectMake(v.center.x - 5 , v.center.y  , 5 , v.center.y + 4  );
    button1.titleLabel.text = @"I'm label 1";

    [v addSubview: button1];

    UIButton*button2 =[[UIButton alloc] init];

    button2.frame = CGRectMake(v.center.x - + 1 , v.center.y  , 5 , v.center.y + 4  );
    button2.titleLabel.text = @"I'm label 2";

    [v addSubview: button2];

    [cell addSubview:v];

    /*
     <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
     // ...
     // Pass the selected object to the new view controller.
     [self.navigationController pushViewController:detailViewController animated:YES];
     [detailViewController release];
     */
}

UIView не появляется. Как это решить?

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

попробовать:

[cell.contentView addSubview: v];

Это должно работать.

Edit: Попробуйте этот код. Дайте кадры соответственно, это будет работать.

UIView *v = [[UIView alloc] initWithFrame:CGRectMake(44, 100, 200, 200)];
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(0, 0, 50, 50);
[v addSubview:button];

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
[cell.contentView addSubview:v];
1 голос
/ 27 февраля 2012
UIView *v = [[UIView alloc] init];//You have not set the frame of the v;
0 голосов
/ 27 февраля 2012

initWithFrame является назначенным инициализатором для представлений.

Поскольку вы используете init, он не знает, насколько велико представление для создания.

Также UIButton *button1 = [[UIButton alloc] init]; неверно,Кнопки UIB создаются с помощью метода класса buttonWithType:.

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