1
您好我正在通過使用下面的一段代碼在我的應用程序中製作customUIButtons。UIButton在觸摸後保留髮光
+ (NSArray *) createButtonItemNormalImage:(UIImage *)normalImage
highlightImage:(UIImage *)highlightImage
disabledImage:(UIImage *)disabledImage
touchUpSelector:(SEL)selector
target:(id)target
{
// HighlightImage is not used. Highlight is shown using iOS glow
UIButton *uiButton = [UIButton buttonWithType:UIButtonTypeCustom];
uiButton.bounds = CGRectMake(0,
0,
normalImage.size.width,
normalImage.size.height);
[uiButton setImage:normalImage
forState:UIControlStateNormal];
if (disabledImage)
{
[uiButton setImage:disabledImage
forState:UIControlStateDisabled];
}
[uiButton addTarget:target
action:selector
forControlEvents:UIControlEventTouchUpInside];
uiButton.showsTouchWhenHighlighted = YES;
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:uiButton];
return [NSArray arrayWithObjects:buttonItem, uiButton, nil];
}
我已經使用上述功能作出取消按鈕。取消按鈕使用戶從一個屏幕到另一個屏幕。問題是當我回到第一個屏幕時,取消按鈕仍然發光。我之前也看到過這個問題,但是打電話給[self.view setNeedsLayout]
用來解決它。
爲什麼會發生這種情況,以及解決這個問題的正確方法是什麼? 謝謝!
uiButton.showsTouchWhenHighlighted = YES;至uiButton.showsTouchWhenHighlighted = NO; –
@DarshanKunjadiya我想讓按鈕只在觸摸時發光。設置uiButton.showsTouchWhenHighlighted = NO將使按鈕不發光。問題在於,即使沒有被觸摸,它也會發光。 – shshnk
我在視圖上只有六個按鈕中的一個出現同樣的問題。所有六個配置完全相同,但由於某種原因,其中只有一個未能在觸摸後「失效」。非常令人沮喪。我幾次重新生成了違規按鈕,但似乎沒有解決問題。 –