2

私はiPhoneを初めて使用しますが、

    xpos=30;
    ypos=40;

for(int i=0;i<[MyArray count];i++)
        {            
            if(i!=0)
            {
                if (i%4==0) 
                {                    
                    ypos+=180;
                    xpos=30;
                }
                else
                {
                    xpos+=200;
                }
            }
            
            button = [UIButton buttonWithType:UIButtonTypeCustom];
            button.frame = CGRectMake(xpos, ypos, 110.0, 130.0);
            [button setImage: [UIImage imageNamed:@"ibook2.png"] forState:UIControlStateNormal];
            [button setTitleEdgeInsets:UIEdgeInsetsMake(ypos, xpos, 0.0, 0.0)];
            [button setTitle:[NSString stringWithFormat:@"%@", [MyArray objectAtIndex:i]] forState:UIControlStateNormal];
            [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
            [self.view addSubview:button];
}

ボタンは表示できますが、UIButtonにテキストが表示されません。

どんな助けでもありがたいです。

4

4 に答える 4

4

ボタンの背景画像を設定してください。ボタンの画像を設定しました。これを使用してください:

[button setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
                            forState:UIControlStateNormal];

ラッピングボタンのタイトルの場合ユーザー:

[button setTitle:@"Test button name 123" forState:UIControlStateNormal];

 button.titleLabel.numberOfLines=2;

 button.titleLabel.lineBreakMode = UILineBreakModeWordWrap;
于 2012-07-23T07:03:01.170 に答える
2

ボタンのsetImage:関数を使用したため、テキストが表示されません。一度に画像またはボタンをテキストに表示できますが、画像を背景として追加して、画像とタイトルの両方を表示することができます。要するに背景として画像を設定します。

[btn setBackgroundImage:[UIImage imageNamed:@"imageName"] forState:UIControlStateNormal];

はめ込みの設定線も削除してください。

于 2012-07-23T06:42:49.177 に答える
0

むしろ設定

[button setImage: [UIImage imageNamed:@"ibook2.png"] forState:UIControlStateNormal];   // This will not allow you to set Button title.

あなたは使用する必要があります:

[button setBackgroundImage: [UIImage imageNamed:@"ibook2.png"] forState:UIControlStateNormal];    // This will allow you to set title along background button image.
于 2012-07-23T06:46:49.040 に答える
0

画像が大きすぎる場合は、画像のみが表示され、画像の後にテキストが表示されるため、画像が原因でテキストが切り捨てられます。setBackground画像を使用するか、低解像度の画像またはsetImageEdgeInsetsを試してください。

于 2012-07-23T06:46:50.007 に答える