我需要保持UIButton
在觸摸事件之後高亮顯示。在IOS版本< 7我用觸摸的內心活動了以下行動:保持UIButton在觸摸和iOS之後高亮7
- (IBAction)clickMe:(id)sender {
UIButton *button = sender;
[NSOperationQueue.mainQueue addOperationWithBlock:^{ button.highlighted = YES; }];
}
不幸的是東西的iOS 7已發生變化,這個代碼不工作了:如果我輕點按鈕,該按鈕返回到正常狀態;有趣的是,如果我按住按鈕一會兒,按鈕仍然會突出顯示。請注意,該應用程序是爲iOS 6開發的,因此它在兼容模式下運行在iOS 7中。我試圖找出一種方法來使應用程序在iOS 6上正常工作,但到目前爲止,我還沒有找到一個很好的解決方案(一種解決方法是排隊一個事件,在短暫延遲後突出顯示按鈕,但是產生一個煩人的按鈕閃爍)。有什麼建議?
state屬性爲只讀。 – Wolfy
你是對的@Wolfy。讓我想想一個稍微重寫的答案。 –
邁克爾,是的,我知道'.highlighted'屬性是如何工作的,但是謝謝你指出。像我一樣排隊一個操作來覆蓋默認行爲,因爲在Touch Up事件之後,操作會發生,將'.highlighted'重置爲NO。這是一個竅門,但它簡單而有效。不幸的是,iOS 7顯然改變了操作的順序。當然,UIButton類的子類將解決這個問題,但我正在尋找一個簡單的解決方案。另外,我沒有使用圖片,只是標題文字。 – Wolfy