UIActionSheet с табличным представлением

Привет, может ли кто-нибудь помочь мне в следующем

  • Я хочу добавить ActionSheet с настроенным изображением.
  • В ActionSheet я хочу разместить табличное представление данных.
  • Две кнопки (отмена и готово)

Спасибо....


person Maulik    schedule 22.03.2011    source источник
comment
Вы пытались создать табличное представление и две кнопки, установить их рамки, а затем выполнить addSubview на листе действий? Вам также может понадобиться создать подкласс и переопределить его метод drawRect. Но я думаю, вам повезет больше, если вы сделаете свое собственное представление, которое анимируется, когда вы хотите. И я даже не буду думать о последствиях этого HIG...   -  person Adam Eberbach    schedule 22.03.2011
comment
Можете ли вы сказать мне, как отобразить табличное представление, так как лист действий означает, что табличное представление должно отображаться как лист действий?   -  person Maulik    schedule 22.03.2011


Ответы (2)


Вам не нужно добавлять таблицу в UIActionSheet, просто добавьте 7-8 кнопок в UIActionSheet, и она автоматически будет размещена как таблица.

Смотрите прикрепленный снимок экрана.. введите здесь описание изображения

person Saurabh    schedule 22.03.2011
comment
скриншот есть в самом ответе. см. изображение с Удалить, кнопка7, кнопка 8, кнопка9.... - person Saurabh; 22.03.2011

проверьте мой ответ. Я использую этот код для отображения UITableView в листе действий.

В файле .h

@property (strong, nonatomic) IBOutlet UITableView *tableView;

В файле .m

-(void)addTableViewInActionSheet
{
   UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
                                              delegate:nil
                                     cancelButtonTitle:nil
                                destructiveButtonTitle:nil
                                     otherButtonTitles:nil];

    [actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];


    _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 50, 320, 210)];
    _tableView.dataSource = self;
    _tableView.delegate = self;
    [actionSheet addSubview:_tableView];

    UISegmentedControl *doneButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Done"]];
    doneButton.momentary = YES;
    doneButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);
    doneButton.segmentedControlStyle = UISegmentedControlStyleBar;
    doneButton.tintColor = DEFAULT_COLOR;
    [doneButton addTarget:self action:@selector(doneBtnClicked:) forControlEvents:UIControlEventValueChanged];
    [actionSheet addSubview:doneButton];

    UISegmentedControl *cancelButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Cancel"]];
    cancelButton.momentary = YES;
    cancelButton.frame = CGRectMake(10, 7.0f, 60.0f, 30.0f);
    cancelButton.segmentedControlStyle = UISegmentedControlStyleBar;
    cancelButton.tintColor = [UIColor blackColor];
    [cancelButton addTarget:self action:@selector(cancelBtnClicked:) forControlEvents:UIControlEventValueChanged];
    [actionSheet addSubview:cancelButton];


    [actionSheet showInView:self.view];
    [actionSheet setBounds:CGRectMake(0, 0, 320, 485)];
}
person Kirti Nikam    schedule 02.05.2013
comment
Спасибо за ответ, но уже почти 2 года... :P - person Maulik; 02.05.2013
comment
Извините, но я начал разработку iOS за последние 6 месяцев и сегодня увидел ваш пост. Так ответил на него. :) - person Kirti Nikam; 02.05.2013
comment
Не беспокойся. Это всегда нормально. чтобы ответить на старые (даже уже отвеченные) вопросы - ваш ответ может пригодиться любому другому пользователю с похожей проблемой. - person Rok Jarc; 01.10.2013
comment
боже, я всегда искал что-то простое, подобное этому - person thekevshow; 25.09.2014
comment
Да, можно отвечать на старые вопросы, так как новое решение может быть более актуальным для текущей версии ОС и решить недавно возникшие проблемы. - person KarenAnne; 14.12.2015
comment
Кстати, @Maulik, соответствует ли это Руководству по человеческому интерфейсу iOS? - person KarenAnne; 14.12.2015
comment
@KarenAnne: вместо этого я использовал только таблицу. - person Maulik; 14.12.2015