Подсказки в iOS через собственные элементы управления пользовательским интерфейсом?

Как создать всплывающие подсказки или что-то подобное в iOS, без использования каких-либо сторонних классов? У меня есть UIButton, что я бы хотел всплывать всплывающие подсказки в течение нескольких секунд или до тех пор, пока он не будет очищен. Я видел сторонние классы и библиотеки, но хочу знать, поддерживает ли он его. Я также хочу показать стрелку, которая появляется, откуда появляется всплывающая подсказка. Я видел, что некоторые всплывающие окна UIActionSheet имеют эту стрелку.

Приветствия, Амит

Ну, я закончил использовать стороннюю подсказку CMTopTipView afterall . Это относительно низкие накладные расходы, просто заголовок и реализация. Немного изменил его для учета ARC. Вот что я сделал:

#import "CMPopTipView.h" CMPopTipView *navBarLeftButtonPopTipView; - (void) dismissToolTip { [navBarLeftButtonPopTipView dismissAnimated:YES]; } - (void) showDoubleTap { navBarLeftButtonPopTipView = [[CMPopTipView alloc] initWithMessage:@"DOUBLE Tap \n to view details"] ; navBarLeftButtonPopTipView.delegate = self; navBarLeftButtonPopTipView.backgroundColor = [UIColor darkGrayColor]; navBarLeftButtonPopTipView.textColor = [UIColor lightTextColor]; navBarLeftButtonPopTipView.opaque = FALSE; [navBarLeftButtonPopTipView presentPointingAtView:catButton1 inView:self.view animated:YES]; navBarLeftButtonPopTipView.alpha = 0.75f; NSTimer *timerShowToolTip = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(dismissToolTip) userInfo:nil repeats:NO]; } 

Если вы используете iPad, вы можете использовать UIPopoverView . У вас также есть UIMenuController для работы с подобными функциями на iPhone или iPad: учебник . Помимо этого вы могли бы просто сделать свой собственный подкласс UIView чтобы сделать это, но тогда вам придется обращаться со стрелкой.

Ну, что я делал, было относительно просто. Я закончил использовать UIActionSheet без кнопок только текст. Затем использовал showFromRect из координатной плоскости, где UIButton находился в self.view.

 UIActionSheet *popup = [[UIActionSheet alloc] initWithTitle:@"DOUBLE Tap \n to view details." delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles: nil]; [popup sizeToFit]; popup.tag = 9999; CGRect myImageRect = CGRectMake(240.0f, 605.0f, 30.0f, -40.0f); [popup showFromRect:myImageRect inView:self.view animated:YES]; 

Я могу просто сосать его и использовать CMPopTipView (сторонний элемент управления), чтобы настроить его размер и непрозрачность и затухающую альфу.

Я видел, что некоторые из вас используют CMPopTip, отличную «библиотеку». Прохладный путь!

Несколько вещей, если вы используете это в iOS7, у вас есть некоторые изъяны.

Новое использование устаревшей части текста (это пример)

  NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; paragraphStyle.alignment = self.titleAlignment; [self.title drawInRect:titleFrame withAttributes:@{NSFontAttributeName:self.titleFont,NSParagraphStyleAttributeName:paragraphStyle}]; 

До свидания!

  • iOS 7 Multipeer Connectivity - MCNearbyServiceBrowser находит себя?
  • Чтение строк из txt-файлов в NSArrays в iOS
  • Где используется CFBundleName
  • Использование @synchronized (self) {...} в функции класса
  • Доступ к NSManagedObject из фонового потока
  • NSAttributedString initWithData и NSHTMLTextDocumentType сбой, если не в основной теме
  • Restkit: expected ';' после декларатора верхнего уровня
  • Сравнение NSDate, вычисление «количества полуночи между» в конкретном (местном) часовом поясе
  • Есть ли какой-либо механизм привязки данных для iOS?
  • Является ли id в Objective C примитивным типом данных
  • Как соответствовать MutableCollection?
  • Interesting Posts
    Давайте будем гением компьютера.