2014-12-17 5 views

답변

0

버튼에는 여러 동작이 첨부되어있을 수 있습니다. 각 단추에 항상 로깅 동작을 추가 할 수 있습니다. 조치 메소드는 송신자를 수신하므로, 두드린 버튼에 대한 정보를 기록 할 수 있습니다.

+0

나는 뭔가를하고 싶습니다. g "일반"은 내 앱의 모든 버튼에 영향을 미치며 각 버튼에 코드를 추가하지 않아도됩니다. – YogevSitton

1

Aspect Programming이 도움이 될 수 있습니다.

[UIButton aspect_hookSelector:@selector(whateverSelectorYouWantToHookOn:) 
        withOptions:AspectPositionAfter 
        usingBlock:^(id<AspectInfo> aspectInfo) { 
    NSLog(@"UIButton called"); 
} 
error:NULL]; 

라는 인스턴스에 대한 자세한 내용은 AspectInfo에 보라 :

https://github.com/steipete/Aspects

은 기본적으로 당신이 그런 짓을 :이 라이브러리에서보세요.

0

로깅을 추가하려면 UIButton을 하위 클래스로 만들 수 있습니다.

objective C: Buttons created from subclass of UIButton class not working

에 허용 대답이 서브 클래스가 유용 할 수있는 몇 가지 경우 중 하나입니다 이유에 대한 좋은 설명이있다. 관찰하거나의 대상에 액션 메시지의 발송을 수정하려면

:

기본적있는 UIButton 당신은 두 가지 이유 중 하나에 대한 UIControl의 서브 클래스를 확장 할 수 있습니다 UIControl과 UIControl Class Reference 상태

서브 클래스 노트에서 상속 특정 이벤트
사용자 지정 추적 동작을 제공하려면 (예 : 강조 표시 모양을 변경하려면)

관련 문제