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

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

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

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

5 ответов

Решение

По сути, вам нужен пользовательский вид.

Вы не можете использовать 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 как хотите, меняя шрифт или цвет фона. Проверьте ссылку для дополнительной информации.

РЕДАКТИРОВАТЬ:

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

Мне нравятся такие: https://github.com/chrismiles/CMPopTipView.

Приятно и легко настроить.

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

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

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

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

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

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

https://github.com/SaKKo/SKTipAlertView

Надеюсь, что вы найдете ее полезной. веселит,

Другие вопросы по тегам