this answer을 따라 내 UIButton의 제목을 바꿉니다. 요약하면 다음과 같습니다.Touch and Hold 동안 UIButton 제목을 동적으로 변경하는 방법
사용자가 터치하면 버튼 제목이 변경되기 시작합니다.
터치가 유지되는 동안 1 초마다 변경되어야하며 사용자 은이를 볼 수 있어야합니다.
사용자가 닿는다면 (터치하는 것을 멈 추면), 버튼 제목은 마지막으로 유지 된 값으로 고정되어야합니다.
은 내가 setTitle:forState:를 사용하여 2 처리 setTitle:forState:
사용 일을 처리합니다. 타이머가 사용자의 터치에 따라 1 초마다 계속 발사되는 한 계속 발생합니다.
titleForState을 사용하여 3을 처리합니다. 그러나 여기에 나는 2로 설정된 값을 얻지 못합니다.때로는 올바른 값을 얻었을 때 여전히 한 가지 문제가 있습니다. 터치가 끝난 후에도 해당 사용자 정의 UIButton에 대해 동일한 이전 제목이 표시됩니다. 나는 titleForState를 사용하여 읽었다. (UIButton.textLabel.text조차도 잘못된 값을줍니다.)
1 - 어떻게 만지기 위해 올바른 접근 방식을 따르고 있습니까? (나는 UIButton 제목을 설정하고 읽으려는 타이머 접근법을 사용함)
2 - 그렇다면 올바른 UIButton 제목 값을 읽으려면 코드에서 무엇을 변경해야합니까?
편집 :
위의 3 가지 문제를 해결했습니다. 이 문제의 이유는 다음과 같습니다. 읽기와 쓰기를 할 때 같은 UIControlState
조합을 제공하지 않았습니다. 나는 당신이 제목을 쓰는 데 UIControlStateNormal | UIControlStateHighlighted
을 제공하고 그것을 다시 읽는 데 UIControlStateNormal
을 사용한다면, 그것은 currect 제목 값을 되돌려 주어야하며 그 반대도 마찬가지라고 가정하고있었습니다. 불행히도 그것은 사실이 아닙니다. 나는 두 번에이 상태 중 하나를 사용하기 만하면되도록 내 앱 로직을 변경했다.
그러나 UIButton이 여전히 강조 표시된 상태에서 제목을 표시하는 방법은 여전히 위의 2 가지입니다. 터치가 진행되는 동안 제목은 완전히 보이지 않습니다.
아마도 'setTitleColor : forState :'로 색상 제목을 변경하려고합니까? – Vinzzz
시도했지만 성공하지 못했습니다. 어쨌든 표시되도록 빨간색 설정을 시도했지만 UI에서 변경 사항을 보지 못했습니다. –