Пользовательское выравнивание UIBarButtonItem отключено с iOS7
Так что у меня возникла та же проблема, с которой сталкиваются многие другие при создании UIBarButtonItem с UIButton в качестве пользовательского представления.
В основном кнопка составляет около 10 пикселей далеко влево или вправо. Когда я использую обычный BarButtonItem без пользовательского представления, этого не происходит.
Этот пост предоставил частичное решение:UIBarButton с пользовательским видом
Вот мой код, который я создал, создав подкласс UIButton (как указано в другом посте)
- (UIEdgeInsets)alignmentRectInsets {
UIEdgeInsets insets;
if ([self isLeftButton]) {
insets = UIEdgeInsetsMake(0, 9.0f, 0, 0);
}
else { // IF ITS A RIGHT BUTTON
insets = UIEdgeInsetsMake(0, 0, 0, 9.0f);
}
return insets;
}
- (BOOL)isLeftButton {
return self.frame.origin.x < (self.superview.frame.size.width / 2);
}
Это прекрасно работает, но когда я возвращаю контроллер представления из контроллера навигации обратно в этот основной вид, кнопка все еще неправильно позиционируется в течение примерно 0,3 секунды, а затем она фиксируется в правильной вставке.
Это ОГРОМНОЕ бельмо на глазу, и я понятия не имею, как помешать этому щелкнуть вот так. есть идеи? Спасибо!