Деда
Релиз в понедельник, проект долгий, позже буду править структуру
Деда
Но сейчас нужно решение быстрое просто
Ivan
оу щит
Ivan
ну пробуй хит тест
Ivan
авось прокатит
Деда
сейчас пробую поймать его
Ivan
только заставь тестеров перетестить всё что можно и нельзя
Ivan
на разных иос версиях
Dmitry
4.6 звезды это нормальный общий рейтинг или уже выше среднего?
Vadim
при максимуме в 5 ты как сам считаешь?
Vadim
или себя не похвалишь никто не похвалит? :D
Деда
hitTest не ловится
Ivan
hitTest не ловится
хм, хорошо, есть еще один способ, попробовать подцепиться к какому нить универсальному методу который вызывается у UI элементов при их создании.... такс, UIButton и UITableViewCell унаследованы у UIView и у них есть hitTest... ты точно правильно подцепился?
Evgenii
а он не супресится?
Деда
поймал hitTest
Деда
на один клик 20-30 событий
Anonymous
а есть код?
В открытом доступе пока нет
Ivan
на один клик 20-30 событий
ну а что ты хотел, ты поидеи ща ловишь ВСЕ элементы))
Ivan
сверяй по классу
Ivan
имею ввиду элементы которые за кнопкой тоже поидеи
Ivan
но это не точно
Ivan
NSLog([self class])
Деда
но что странно сверяю по UITableViewCell то тап по одному uitableviewcell проходитя по всем видимым ячейкам
Ivan
гг
Деда
это один тап
Деда
Ivan
ну.... если лагать не будет, то пофиг наверное, как временное
Ivan
у каждого UIView есть TAG
Деда
uigesture
Деда
к нему подцепится не вариант?
Ivan
ну и вот, те которые премиум пусть будет особый тэг, который блочится при тапе например
Деда
а свиз ловит вообще протоколы?
Ivan
к нему подцепится не вариант?
разве у UIView есть такое?
Ivan
uigesture
@interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEnvironment, UICoordinateSpace, UIFocusItem, CALayerDelegate>
Деда
Блин, какое то ненормальное программирование
Ivan
ну ты творишь дичь, вот и приходится дичь юзать
Ivan
это я еще малой кровью предложил)
Ivan
получается с hitTest проблема в том что, все целки тригерятся, которые ты даже не нажимал, блин
Деда
Блин. этой дичью заставляют заниматься выдавая нужный функционал порциями а не все сразу
Ivan
а какие у тебя элементы такие придурошные? UITableViewCell UIButton ?
Деда
UISwitch
Деда
UIBarButtonItem
Деда
и прочии
Деда
задача поймать вообще все сообытия
Ivan
ну поздравляю тебя
Деда
и после n события запретить
Ivan
UIBarButtonItem это не от мира сего элемент
Ivan
он наследуется напрямую от NSObject, а не от UIView 😄
Ivan
правда... мб благодаря hitTest, отловится именно то что ты нажал не на итем, а на картинку....
Anonymous
Меняй работу
Ivan
и после n события запретить
проверь текущее решение на остальных элементах, сейчас проблема только с UITableView я так понимаю?
Ivan
Меняй работу
да ладно тебе, так даже интересно xD
Ivan
но то что дедлайн это капец
Anonymous
у виндоу хит тест переопределил и поехали
Деда
Меняй работу
Это не разговор, задачу нужно решать а не бежать
Деда
знал бы заранее, внедрил бы rbac подобную структуру
Деда
перед событием определить можно или нельзя, все что не запрещено, можно
Vadim
и тут тебе скажут что неактивные кнопки еще должны иметь альфу 0.5
Деда
У меня они все наследуются
Деда
Я беру дизайн и разбиваю на количество разных кнопок
Деда
Создаю эти классы и в них описываю нужные параметры
Деда
Потом в ксибе на кнопку цепляю нужный класс и все
Деда
Нужно будет альфу прописать, пропишу в одном месте
Деда
У нужных кнопок
Vadim
ну самый большой костыль тогда напрашивается подписаться на нотификацию в кастомных классах на авейке в которой будет собственно приходить стейт кнопки и изменять
Деда
С кнопками и все что наследуется от uicontrol я решил уже )
Деда
Свизом переопределял метод и пропустил через да/нет
Деда
Не могу поймать делегат таблицы
Ivan
Не могу поймать делегат таблицы
пробовал? https://stackoverflow.com/questions/30044366/method-swizzling-for-protocols
Деда
Деда
@implementation UIViewController (Swizzle) - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPathSwizzled:(NSIndexPath *)indexPath { NSLog(@"Log something here"); [self tableView:tableView didSelectRowAtIndexPathSwizzled:indexPath]; } + (void) initialize { BOOL conformsToTableViewDelegate = class_conformsToProtocol(self, @protocol(UITableViewDelegate)); if(conformsToTableViewDelegate) { Method method1 = class_getInstanceMethod(self, @selector(tableView:didSelectRowAtIndexPath:)); Method method2 = class_getInstanceMethod(self, @selector(tableView:didSelectRowAtIndexPathSwizzled:)); method_exchangeImplementations(method1, method2); } }
Деда
что то нашел похожее, но не заводится
Valentin
народ, подскажите, кто юзал MVVM/RxSwift и VIPER, на чем остановились и почему? а может что другое используете?
Vadim
выбор по-моему от нескольких факторов - от величины пректа, количества бизнес-логики, работаешь ли ты в команде
Anonymous
Ну да
Vadim
простые проекты можно на MVC делать нормально, при этом туда можно еще впихнуть координатор и получить MVC-С какой нибудь, если много бизнес логики то MVVM, випер мне кажется больше для формализации кода, когда толпа делает один проект, чтобы не было "уникального" кода
Evgenii
А чего в mvc не вынести бизнес логику в сервис и не продолжить его использовать?)
Vadim
ну вьюмодель и получается как сервис, просто названо по-другому