Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
someMan
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 27
#1

Перехватит факт старта видео - Программирование iOS

25.04.2014, 18:55. Просмотров 496. Ответов 3
Метки нет (Все метки)

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

Может ли кто то посоветовать, как можно отловить старт воспроизведения видео? Или, можно ли сделать как-то обработку тапа "на везде", чтобы кнопка воспроизведения не жила своей жизнью?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2014, 18:55     Перехватит факт старта видео
Посмотрите здесь:

Определить факт пересечения объектов и факт включения одного объекта в другой - C++
Создается много плоских фигур(прямо, квадраты и другие) вершины задаются координатами. Помогите пожалуйста определить факт пересечения...

Ребус: "Факт + Факт = Наука" - Delphi
Ребят помогите плз, нужно заменить букви цифрами так, что б уравнение ФАКТ+ФАКТ=НАУКА стала верной. Одинаковым буквам должны...

Странный факт - Программирование Android
Здравствуйте. У меня 2 приложения, одно весит 6,5 МВ, а другое – 12. Способ отрисовки графики (Canvas - public class GameView extends...

заковырестый факт о cms - CMS
добрый день хочу изучить какойнибудь форум для обучения, самый легкий и понятный нашел PunBB (например на нем работает форум мозилы). ...

Seagate интересный факт - Жесткие диски
Всем доброго времени суток. Мне вот интересно... у меня за жизнь было всего 2 сигейта и в обоих случаях первый LBA при проверке HDD Scan...

Необъяснимо, но факт. HP Pavilion DV 6 - Ремонт ноутбуков
Доброго времени суток всем. Вобщем есть у меня ноутбук HP Pavilion DV 6, проц АМД А6 3420м, видео радеон 6520g + 6770m 1 GB GDDR5 128 bit,...

Как доказать этот факт - Математический анализ
Как доказать этот факт sin(nx)=sinx(2sin(n-1)x)+2sin((n-3)x)+...+2sin(2x)+1) при n нечетном

Запрос сопоставить план/факт - MS Access
Есть две таблицы: 1я-Бюджет Ответственный Статья Сумма Иванов А 100 Петров А 20 ...

Проверить факт авторизации на сайте - C#
Есть браузер и например... VK Пользователь ввел данные (логин и пароль) и вошел в вк, вопрос: Как проверить вошел ли он в ВК? То есть...

Аномалия с микрофоном, необъяснимо но факт - Звук, акустика
Короче расскажу историю. Есть у меня комп. раньше стояла система ХР. И Были простые наушники, микрофон стоял отдельно. (микрофон был с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
27.04.2014, 09:24     Перехватит факт старта видео #2
deleted

Добавлено через 9 минут
попробовать найти кнопку старта видео

UIView_findRecursive.h

Objective-C
1
2
3
4
5
6
7
8
typedef Class NSClass;
 
@interface UIView (UIView_findRecursive)
 
-(NSMutableArray*) subviewsWithClassRecursive: (NSClass) viewClass
                                        limit: (int) limit;
 
@end

UIView_findRecursive.m
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@implementation UIView (UIView_findRecursive)
 
-(NSMutableArray *)subviewsWithClassRecursive:(NSClass)viewClass limit:(int)limit {
    NSMutableArray*z = [NSMutableArray new];
    [self sys_subviewsWithClassRecursive:viewClass limit:limit result:z];
    return z;
}
 
-(void) sys_subviewsWithClassRecursive:(NSClass)viewClass
                                 limit:(int)limit
                                result: (NSMutableArray*) result {
    for (UIView *v in self.subviews) {
        if (limit>0 && result.count>=limit) return;
        if ([v isKindOfClass: viewClass]) {
            [result addObject:v];
        }
        [v sys_subviewsWithClassRecursive:viewClass limit:limit result:result];
    }
}
 
@end

ищем кнопку

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
NSArray * buttons = [videoFrame subviewsWithClassRecursive: [UIButton class] limit: -1];
 
for (UIButton* btn in buttons ) {
// удаляем все события
[btn removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents]; 
// вешаем свой обработчик
[btn addTarget: self action: @selector(btn_action:) forControlEvents: UIControlEventTouchUpInside];
}
 
// << >>
 
-(void) btn_action: (UIButton*) sender {
   if (sender  == моя кнопка) {
       // работаем
   }
}
someMan
0 / 0 / 0
Регистрация: 08.09.2013
Сообщений: 27
28.04.2014, 13:08  [ТС]     Перехватит факт старта видео #3
Сколько всего)))
Спасибо, но эт не совсем не то - кнопка на фрейме видео не кастомная, а стандартного айос-плеера. Короче говоря, один слайд с видео - это WebView, в котором подгружамый джаваскрипт генерит видео-фрейм.
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
28.04.2014, 16:00     Перехватит факт старта видео #4
это WebView, в котором подгружамый джаваскрипт генерит видео-фрейм.
если в webView этот самый фильм, то его проигрыванием будет заниматься html5

и следовательно нужно копать не в IOS, а в html5 и его взаимодействие с IOS устройствами, а также посыланию сообщений с webView на контроллер.
Yandex
Объявления
28.04.2014, 16:00     Перехватит факт старта видео
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru