2016-11-11 2 views
1

Здесь я хочу показать строку ниже tabBarItem, как показано на рисунке ниже enter image description here, и я устанавливаю его следующим образом. Однако проблема в том, что она статическая, и если я использую больший размер экрана, например iPhone 6, а paintView2 движется и выглядит уродливым. Итак, как настроить CGRectMake координаты представления динамически для всех размеров экрана. Попытался во многих отношениях, но не мог достичь того, чего хотел.Как установить строку под UITabBarItem динамически

enter image description here

paintView2=[[UIView alloc]initWithFrame:CGRectMake(105,662,70, 5)]; 


    NSLog(@"position:%f",paintView2.frame.origin.x); 

    CAGradientLayer *gradient = [CAGradientLayer layer]; 

    gradient.colors = [NSArray arrayWithObjects:(id)[self colorWithHexString:@"34A9C4"].CGColor,(id)[self colorWithHexString:@"36AC60"].CGColor, nil]; 
    gradient.frame = paintView2.bounds ; 
    [paintView2.layer insertSublayer:gradient atIndex:0]; 

    [self.view addSubview:paintView2]; 
+0

вам нужно, чтобы получить ширину экрана и основываясь на том, что вы должны рассчитать ширину одной вкладки и поместите свой вид на выбранную вкладку. – CodeChanger

+0

Если вы хотите указать выбранную вкладку, вы можете сделать это, используя изображения для состояний _Selected/Unselected_. Просто добавьте эту строку в изображение для состояния _Selected_ и для состояния _Unselected_ сохраните его, как сейчас. Никаких причудливых вещей. – Adeel

ответ

0

Здесь при выделении Вашего мнения и давая рамку, вы должны сделать его динамичным, как

CGRect screen = [[UIScreen mainScreen] bounds]; 
CGFloat ScreenWidth = CGRectGetWidth(screen); 
CGFloat ScreenHeight = CGRectGetHeight(screen); 

paintView2=[[UIView alloc]initWithFrame:CGRectMake((ScreenWidth/4)*i,ScreenHeight - 5, ScreenWidth/4, 5)]; 
+0

что такое Ширина экрана и я здесь – vicky

+0

Что такое * i here – vicky

+0

Я буду индексом выбранного вами TabBar, начиная с 0 – Rajat

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