2016-11-11 2 views
1

ここでは、下の画像enter image description hereのようにtabBarItemの下の行を表示したいと思います。次のように設定しています。しかし、問題は静的なもので、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_ statesの画像を使用してこれを行うことができます。その行を_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

ここでscreenWidthとは何ですか – vicky

+0

ここでは何ですか? – vicky

+0

0から – Rajat

関連する問題