2014-04-04 2 views
1

Я искал для отображения статического изображения на панели вкладок? Изображение не будет охватывать всю панель вкладок, только часть ее. Но я все еще хочу иметь возможность использовать вкладки.В iOS 7 есть способ отображения изображения над панелью вкладок?

Я ищу, чтобы сделать что-то вроде этого. Я могу получить изображения в панели вкладок, но я тусклый, чтобы отобразить изображение по панели вкладок, как изображение в середине здесь:

enter image description here

+0

сделать вы хотите установить статическое изображение на выбранном tabbaritem? – Funny

+0

Нет, я просто хочу отображать его все время, когда отображается панель вкладок. Он будет иметь нулевую функциональность. – mcphersonjr

+0

Надеюсь, мой ответ может вам помочь. –

ответ

2

Выделяют UIImageView с изображением и добавить его в окне AppDelegate в непосредственно над панелью вкладок. Перед добавлением в окно убедитесь, что вы отключили взаимодействие пользователя ImageView.

Он будет находиться на панели вкладок без каких-либо действий.

Update:

Получаем окно с AppDelegate,

Appdelegate *appDelegate = ((Appdelegate*)[UIApplication sharedApplication]).delegate; 
UIWindow *appDelegateWindow = appDelegate.window; 

Затем выделить вид изображения.

UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]]; 
[imageView sizeToFit]; 

установить рамки для изображения и добавить их в окно.

[imageView setFrame:CGRectMake(0,380,50,50)]; 
[appDelegateWindow addSubView:imageView]; 
+0

Нужно ли это делать в каждом UIViewController? Или есть ли другой способ добавить его в окно делегата приложения? – mcphersonjr

+0

Вам не нужно будет устанавливать его с каждым контроллером представления. Вы добавляете его в подпункт панели вкладок. Он покажет, с какими вкладками вы находитесь. – logixologist

+0

Я пробовал это пару раз ... где вы предлагаете реализовать свое решение? – mcphersonjr

2

Вы можете сделать что-то подобное в AppDelegate.m:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    //Allocate an imageView 
    UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"imageTabBar.png"]]; 

    //UITabBarController should be your rootViewController 
    UITabBarController *tabBarController = (UITabBarController *) self.window.rootViewController; 

    //set the imageView 
    [tabBarController.tabBar addSubview:imageView]; 

    // Send ImageView back 
    [tabBarController.tabBar sendSubviewToBack:imageView]; 
} 

Это результат в тренажере:

example with this code

+0

Вы также можете использовать insertSubview: atIndex: с индексом = 0, а не sendSubviewToBack. Кроме того, похоже, что в примере изображение обрезано. Если вы хотите, чтобы он отображался за пределами полосы вкладок, вы можете установить clipToBounds = NO. – smallwisdom

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