Как правильно определять прикосновения в моем UIView? - PullRequest
0 голосов
/ 23 февраля 2010

У меня проблема. У меня есть UIView, который выглядит так: alt text

В этом контроллере представления я реализовал метод "touchesBegan: withEvent:", но метод срабатывает только тогда, когда я касаюсь панели в нижней части представления, при касании таблицы ничего не происходит.

Как я мог изменить это поведение, чтобы иметь возможность обнаруживать касания, которые также происходят в таблице?

Это код, который в основном объявляет, что UIViewController:

#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>

@interface TripSearchDetailViewController : UIViewController 
{
    //Parent of this sub-view.
    UIViewController    *parentController;

    //GUI elements
    UITableView         *tableView;
    UIButton            *backButton;
}

//Button actions
- (IBAction) goBack:(id) sender;
- (IBAction) showDatePicker:(id) sender;

//Class Methods.
- (void) presentDatePicker;


@property (nonatomic, retain) UIViewController      *parentController;
@property (nonatomic, retain) IBOutlet UITableView  *tableView;
@property (nonatomic, retain) IBOutlet UIButton     *backButton;

@end

Ответы [ 2 ]

2 голосов
/ 23 февраля 2010

Похоже, у вас есть UITableViewController, а не UIViewController. Ваше табличное представление перехватывает и обрабатывает прикосновения прежде, чем они достигнут вашего контроллера представления. Вам нужно будет создать подкласс UITableView, переопределить его -touchesBegan: withEvent: метод, а затем создать стандартный UIViewController, который добавляет ваш новый подкласс в иерархию представления.

0 голосов
/ 23 февраля 2010

Я думаю, что это может помочь реализовать метод hitTest: withEvent: в вашем TripSearchDetailViewController. Если вы просто вернете true в этом методе, ваше прикосновение должно быть распознано. см. также: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/EventHandling/EventHandling.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...