0

2 つの画像でカスタム UIButton を作成していますが、何らかの理由でタイトルが表示されず、ボタンは正常に表示されますが、タイトルは表示されません。

_button = [UIButton buttonWithType:UIButtonTypeCustom];
_button.frame = CGRectMake(10, 250, 300, 43);
[_button addTarget:self action:@selector(loginClicked:) forControlEvents:UIControlEventTouchUpInside];
[_button setImage:[UIImage imageWithContentsOfFile:normalButtonImg] forState:UIControlStateNormal];
[_button setImage:[UIImage imageWithContentsOfFile:hoverButtonImg] forState:UIControlStateSelected];
[_button setTitle:@"Login" forState:UIControlStateNormal];
[_button setTitle:@"Login" forState:UIControlStateHighlighted];
[_button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_button setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted];
[self.view addSubview:_button];
4

2 に答える 2

4

これらの2行:

[_button setImage:[UIImage imageWithContentsOfFile:normalButtonImg] forState:UIControlStateNormal];
[_button setImage:[UIImage imageWithContentsOfFile:hoverButtonImg] forState:UIControlStateSelected];

する必要があります

[_button setBackgroundImage:[UIImage imageWithContentsOfFile:normalButtonImg] forState:UIControlStateNormal];
[_button setBackgroundImage:[UIImage imageWithContentsOfFile:hoverButtonImg] forState:UIControlStateSelected];

説明:前景画像がUIButtonに設定されている場合、画像はタイトルの上に配置されるため、非表示になる可能性があります。画像タイトルを表示したい場合は、背景画像を設定する必要があります。

于 2012-08-29T11:11:20.927 に答える
0

画像を設定すると、タイトルが上書きされます。画像を背景画像にすることができれば、それでうまくいきます。それ以外の場合は、基本的に、タイトルが描かれた目的の画像である新しい画像を作成して、ボタンの合成画像を作成する必要があります。

于 2012-08-29T11:13:39.100 に答える