У меня есть UITableView
внутри UIView
, позвоните ему view_A. Есть UIViewController
, назовите его mainViewController. Внутри него находится UIButton
. При нажатии этой кнопки я добавляю view_A в качестве представления к представлению mainViewController. В таблице есть несколько пунктов меню. Проблема заключается в том, что tableview не реагирует на касание правильно. Я должен нажать клетку долго, чтобы сделать выбор. На нем нет никакого жеста. Другого взгляда не видно. Это абсолютно здорово, это поведение. Пожалуйста, взгляните на следующий код и укажите, что может вызвать проблемы. Это реализация Делегат/презентации в mainViewcontroller:Почему UITableViewCell принимает длинный жест?
-(void) showDropDownMenu: (UIButton *) sender
{
UINib *nib = [UINib nibWithNibName:@"DropDownMenuView" bundle:nil];
self.myView = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0];
self.myView.hidden = NO;
self.myView.tag = 101;
self.myView.delegate = self;
self.myView.btnBack.hidden = YES;
CATransition *transition = nil;
transition = [CATransition animation];
transition.duration = 0.2;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype =kCATransitionFromBottom ;
transition.delegate = self;
[self.myView.layer addAnimation:transition forKey:nil];
[self.view addSubview:self.myView];
}
-(void) hideDropDownMenu
{
CATransition *transition = nil;
transition = [CATransition animation];
transition.duration = 0.2;//kAnimationDuration
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionDefault];
transition.type = kCATransitionPush;
transition.subtype =kCATransitionFromTop;
transition.delegate = self;
[self.myView.layer addAnimation:transition forKey:nil];
self.myView.tag = 102;
[UIView commitAnimations];
}
-(void) navigateBack
{
}
-(void) themeSelected: (NSIndexPath *) indexPath
{
NSLog(@"%ld",(long)indexPath.item);
themeNumber = [NSString stringWithFormat:@"%li",(indexPath.row+1)];
[self setUpTheme];
}
Это реализация файла cell.h:
@interface ThemeTableViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *themeName;
@property (weak, nonatomic) IBOutlet UIImageView *themePreview;
Это реализация cell.m файла:
#import "ThemeTableViewCell.h"
@implementation ThemeTableViewCell
- (void)awakeFromNib {
// Initialization code
//ORIGINAL 82
self.clipsToBounds = YES;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
ОБНОВЛЕНИЕ: Я записал жесты и получился какой-то длинный жест нажатия на ячейки.
ваш TableCell не содержат какой-либо вид аксессуаров (например, флажок, кнопка раскрытия подробно и т.д.), в которых ОС эта проблема возникает. В одном из моих проектов я сталкиваюсь с той же проблемой в IOS7.0, я использую аксессуар в UItableviewcell. Чтобы решить эту проблему, я удаляю это представление. –
Нет, это обычный стол. Ячейки имеют только изображение в них. – NSNoob