Подтвердить что ты не робот

IOS: создание подсказок/всплывающих подсказок

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

По сути, я бы хотел, чтобы при первом запуске игры отображались подсказки/подсказки всплывающих окон, которые "указывают на" различные объекты на экране, чтобы помочь пользователю ориентироваться в игре.

Обновление: Вот пример того, как я в конечном итоге хочу, чтобы он выглядел/вел себя, хотя мне он не нужен, но общий насколько это было бы хорошо

4b9b3361

Ответ 1

По сути, вам нужно нестандартное представление.

Вы не можете использовать Apple UIAlertView, так как его назначение сильно отличается от того, что вы ищете.

Я не знаю, каковы ваши конкретные потребности, но вы можете использовать простой UILabel:

CGRect ref = objectToAddress.frame;

UILabel *tip = [[UILabel alloc] initWithFrame:CGRectMake(ref.x+ref.width, 
                                                         ref.y+ref.height,
                                                         width,
                                                         height)];

[tip setText:messageToShow];

[self.view addSubview:tip];
[tip release];

где width и height - размеры подсказки, которую вы хотите показать, и messageToShow - это сообщение, которое вы хотите отобразить.
Вы можете, конечно, настроить свой UILabel по своему усмотрению, изменив шрифт или цвет фона. Для получения дополнительной информации просмотрите reference.

ИЗМЕНИТЬ:

Вы можете взглянуть на возможную реализацию popover для iPhone: WEPopover. На iPad вы можете напрямую использовать Apple UIPopoverController

Ответ 3

Что я сделал, так это создать две функции

- (void) showOverlay: (BOOL) show withMessage: (NSString*) message
{
    if(show)
    {
        // I create or load a UIView with labels, etc, and with an alpha of 0.6/07
        // give it a tag for later dismissal
        overlay.tag = tag; // any arbitrary value

        // add as subview
        [self.view addSubview: overlay];
    }
    else
    {
        // hide the view
        UIView *overlay = [self.view viewWithTag: tag];
        [overlay removeFromSuperview];
    }
}

Затем у меня есть функция наложения скрыть

- (void) hideOverlayInSecs: (NSInterval) time
{
    [self performSelector: @selector(hideOverlay) withObject: nil afterDelay: time];
}

Затем вы можете написать функцию-обертку, чтобы отображать/отклонять ее для разных длительностей

[self showOverlay: YES withMessage: @"help tip"];
[self hideOverlayInSecs: 2];

Ответ 4

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

Это получилось довольно красиво, но опять же, мои советы довольно статичны.

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

Ответ 5

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

https://github.com/SaKKo/SKTipAlertView

Надеюсь, вы сочтете это полезным. приветствия,