无法设置UIButton的标题

时间:2012-07-23 06:33:32

标签: iphone ios ipad uibutton

我是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 个答案:

答案 0 :(得分: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;

答案 1 :(得分:2)

您无法看到该文本,因为您使用了setImage:button的功能。您可以在文本上显示图像或按钮,但可以将图像添加为背景,这样您就可以同时看到图像和图像。简而言之,将图像设置为背景。

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

请同时删除设置插入行。

答案 2 :(得分: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.

答案 3 :(得分:0)

如果你的图像太大,那么它只会显示图像和文本因图像而被截断,因为文字会在图像后显示,尝试使用setBackground图像或尝试使用小分辨率图像或setImageEdgeInsets。