2014-02-11 2 views
0

У меня есть (/ had) подкласс класса UITextField, который имеет пользовательскую кнопку удаления в качестве свойства rightView. Это работает до тех пор, пока я не повернул устройство, а затем кнопка больше не реагирует. Я изменил свой подход и немного «обманул». Теперь я добавляю UIButton поверх UITextField в коде. Который также работает до тех пор, пока я не повернул устройство. Я проверил с backgroundColors, если в верхней части кнопки нет других элементов.UIButton потеряет цель после вращения

Я также попытался удалить кнопку и добавить ее снова, когда устройство вращается. Это видно, но действие не срабатывает. Если я запускаю свое приложение в «Портрет» или в «Пейзаже», он работает до тех пор, пока я не поверну устройство.

Как добавить кнопку:

if (!btn_delete) 
{ 
    btn_delete = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - 70, (tf_search.frame.size.height/2) - 8, 17, 16)]; 
    [btn_delete setImage:[UIImage imageNamed:@"icon_cross_textfield"] forState:UIControlStateNormal]; 
    [btn_delete addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside]; 
    [self.view addSubview:btn_delete]; 
    [self.view bringSubviewToFront:btn_delete]; 
} 
else 
{ 
    [btn_delete removeFromSuperview]; 
    btn_delete = nil; 
} 

Метод -(void)clearTextField:(UIButton*)sender не дозвонились после поворота.

Любые советы приветствуются.

+1

вы должны проверить рамку self.view после вращения. ваш btw_delete стал вне прямоугольника рамки. – stosha

+0

Спасибо за предложение. Я проверил его с помощью журналов, и дело не в этом. – Jasper

+0

Проверьте 'userInteraction' и попробуйте добавить фиксированные значения в рамку кнопки. Если subview выходит за пределы основного вида, штрихи не получают. – NeverHopeless

ответ

1

UIButton был добавлен в UIView UIViewController, который был частью UIView другого UIViewController. Все они имели clearColour в качестве backgroundColor, поэтому UIButton все еще был видимым, но не в рамках супервизора.

Смежные вопросы