Подтвердить что ты не робот

Как переместить название UITabBarItem?

Может кто-нибудь сказать мне, пожалуйста, как я могу переместить название UITabBarItem, например, 2px в начало?

4b9b3361

Ответ 1

Решение:

UITabBarItem *item = [tabBar.items objectAtIndex:0]; 
item.titlePositionAdjustment = UIOffsetMake(0, -5.0);

Ответ 2

Обновление для Swift 3

Поместите этот код внутри UITabBarController:

UITabBarItem.appearance().titlePositionAdjustment = UIOffset(horizontal: 0, vertical: -5)

Кредит переходит на Тим Браун

Ответ 3

Вы не можете... вы можете взломать свой путь, но это будет нелегко и может сломать ваше приложение для будущих обновлений iOS.

Лучше всего было бы создать свою собственную систему UITabBar... вот хороший путеводитель, на который вы можете взглянуть..

http://idevrecipes.com/2011/01/04/how-does-the-twitter-iphone-app-implement-a-custom-tab-bar/

Ответ 4

Вы можете использовать tabbarItem.titlePositionAdjustment для настройки.

В случае, если вы хотите сделать гораздо больше с этим, перейдите на вкладку tabbaritem и найдите метку на tabbar.subviews. Например

 int i = 0;
for (NSObject *view in self.tabBar.subviews)
{
    MTLog(@"%@", view);
    if ([view respondsToSelector:@selector(subviews)])
    {
        for (NSObject *childView in ((UIView *)view).subviews)
        {
            if ([childView isKindOfClass:[UILabel class]])
            {
                if (i > (titlesArray.count - 1))
                    break;
                UILabel *label = (UILabel *)childView;
                NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:titlesArray[i] attributes:@{
                                                                                                                                            NSFontAttributeName:[UIFont systemFontOfSize:9]
                                                                                                                                            }];

                NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
                [style setMinimumLineHeight:26];
                [style setAlignment:NSTextAlignmentRight];

                [attributedString addAttribute:NSParagraphStyleAttributeName
                                         value:style
                                         range:NSMakeRange(0, attributedString.length)];
                label.attributedText = attributedString;
                i++;
            }

        }
    }


}