Задать вопрос
Ответы пользователя по тегу iOS
  • Как запретить передачу события(например touched) родительскому представлению Superview?

    @SVM12 Автор вопроса
    Временно решил проблему следующим образом:

    RoomSchemeView.h:
    /// необрабатываемая зона, в этой области тапы не обрабатываются
    @property (nonatomic, assign) CGRect unprocessedRect;


    RoomSchemeView.m
    - (void)tap:(UIGestureRecognizer *)gr
    {
        CGPoint point = [gr locationInView:self];
        // проверяем находится ли точка в необрабатываем зоне
        if (!CGRectEqualToRect(self.unprocessedRect, CGRectZero) && CGRectContainsPoint(self.unprocessedRect, point)) {
            NSLog(@"tap with point %@ in unprocessed rect %@", NSStringFromCGPoint(point), NSStringFromCGRect(self.unprocessedRect));
            return;
        }
        ...
    }


    RoomSchemeViewController.m:
    - (void)showTableView
    {
        if (!self.tableIsVisible) {
            self.tableView.frame = CGRectMake(-self.tableView.frame.size.width, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.frame.size.height);
            [UIView animateWithDuration:.3 animations:^{
                self.tableView.frame = CGRectMake(0, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.frame.size.height);
            } completion:^(BOOL finished) {
                self.tableIsVisible = YES;
                self.roomSchemeView.unprocessedRect = self.tableView.frame;
            }];
        }
    }
    
    - (void)hideTableView
    {
        if (self.tableIsVisible) {
            self.tableView.frame = CGRectMake(0, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.frame.size.height);
            [UIView animateWithDuration:.3 animations:^{
                self.tableView.frame = CGRectMake(-self.tableView.frame.size.width, self.tableView.frame.origin.y, self.tableView.frame.size.width, self.tableView.frame.size.height);
            } completion:^(BOOL finished) {
                self.tableIsVisible = NO;
                self.roomSchemeView.unprocessedRect = CGRectZero;
            }];
        }
    }
    Ответ написан
    Комментировать
  • Какую библиотеку выбрать для ввода pin кода в приложении для iPad?

    @SVM12 Автор вопроса
    Актуально!
    Ответ написан
    Комментировать
  • Как программно изменить ширину UITableView?

    @SVM12 Автор вопроса
    ifau, Спасибо. Помогло.

    Также я выяснил, что если tableView создать программно через initWithFrame, то выше описанной проблемы не возникает.
    Ответ написан
    Комментировать