2

私はiPhone用のアプリケーションを1つ開発していますがUILabel、ナビゲーションバーの特定の位置に複数のアプリケーションを追加することに関していくつかの問題があります。

私が欲しいのは次の画像です

ここに画像の説明を入力

上の画像には、バックバー ボタンが 1 つとimageview、矢印で示されているボタンが 1 つあります。それ以外のすべての白いボックスはUILabels、ナビゲーション バーに表示するためのものです。UIImageViewナビゲーション バーに 1 つと左バー ボタンが 1つだけあります。UILabel今の問題は、ナビゲーションバーの特定の位置に複数を追加する方法がわからないことです。

今まで私が取り組んできたのは、ボタンのみを追加UIImageViewし、右バーボタン配列または左バーボタン配列を追加することですが、それはアイテムを順番に追加するだけです。

だから、誰でも特定の位置にUILabelsやその他のアイテムを追加する方法を教えてください..

4

6 に答える 6

7

以下の画像のように、複数の UIlabel または Image を追加できます:-

ここに画像の説明を入力

これは、次のコードを使用して行うことができます。ラベルとimageViewフレームを変更して、要件として配置できます

- (void)viewDidLoad
{

    UIView *btn = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 60)];

    UILabel *label;
    label = [[UILabel alloc] initWithFrame:CGRectMake(5, 25, 200, 16)];
    label.tag = 1;
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:16];
    label.adjustsFontSizeToFitWidth = NO;
    label.textAlignment = UITextAlignmentLeft;
    label.textColor = [UIColor whiteColor];
    label.text = @"My first lable";
    label.highlightedTextColor = [UIColor whiteColor];
    [btn addSubview:label];
    [label release];

    label = [[UILabel alloc] initWithFrame:CGRectMake(0, 30, 200, 16)];
    label.tag = 2;
    label.backgroundColor = [UIColor clearColor];
    label.font = [UIFont boldSystemFontOfSize:16];
    label.adjustsFontSizeToFitWidth = NO;
    label.textAlignment = UITextAlignmentRight;
    label.textColor = [UIColor whiteColor];
    label.text = @"second line";
    label.highlightedTextColor = [UIColor whiteColor];
    [btn addSubview:label];
    [label release];


    UIImageView *imgviw=[[UIImageView alloc]initWithFrame:CGRectMake(170, 10, 20, 20)];
     imgviw.backgroundColor = [UIColor blackColor];
    imgviw.image=[UIImage imageNamed:@"a59117c2eb511d911cbf62cf97a34d56.png"];
     [btn addSubview:imgviw];

    self.navigationItem.titleView = btn;

}
于 2013-06-06T10:14:37.813 に答える
2

このコードを試してください

UIView *buttonContainer = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 44)];
buttonContainer.backgroundColor = [UIColor clearColor];
UIButton *button0 = [UIButton buttonWithType:UIButtonTypeCustom];
   [button0 setFrame: CGRectMake(160, 7 , 40,  30)];
[button0 setTitle:@"Sort" forState:UIControlStateNormal];
button0.titleLabel.font = [UIFont fontWithName:@"Helvetica" size:12];
[button0 setBackgroundImage:[UIImage imageNamed:@"Btn_Sort_Btn_Sort_Places.png"]    forState:UIControlStateNormal];
[button0 addTarget:self action:@selector(sortAction) forControlEvents:UIControlEventTouchUpInside];
[button0 setShowsTouchWhenHighlighted:YES];
[buttonContainer addSubview:button0];
self.navigationItem.titleView = buttonContainer;

UILabel *lbl_title = [[UILabel alloc] initWithFrame:CGRectMake(10, 0 , 140, 40)];
lbl_title.text = str_HeaderTitle;
lbl_title.textColor = [UIColor whiteColor];
lbl_title.font = [UIFont fontWithName:@"Helvetica-Bold" size:16];
lbl_title.backgroundColor = [UIColor clearColor];
lbl_title.textAlignment   = NSTextAlignmentCenter;
[buttonContainer addSubview:lbl_title];
于 2013-06-06T10:43:43.963 に答える