2016-11-04 3 views
0

기본적이며 기본으로 작동해야하므로 이해가되지 않습니다. IBAction에 대한 링크를 제거하고 다시 작성하려고 시도했습니다. 로그에 클릭 된 것으로 표시되지 않습니다. 기묘한. 결코 트리거되지표준 버튼에 대한 IBAction이 작동하지 않습니다.

@IBAction func onManClicked(sender: AnyObject) { 
    NSLog("onManClicked") 
    person.gender = 1 
    genderUpdate() 

} 

NSLog 부분 :

enter image description here

여기에 코드입니다. 그래서이 ViewController에있는 네 개의 버튼 중 아무 것도 응답하지 않습니다. 어디에 문제가있을 수 있습니까?

이 전체보기를 추가하는 방법입니다. 이것이 문제라고 생각합니다.

let vc = PersonalDialog(nibName :"PersonalDialog", bundle: nil, section: section, position: position, person: Person()) 
    vc.view.frame = UIScreen.mainScreen().bounds 
    parentVC.view.addSubview(vc.view) 

나는 아이폰 OS developement에 새로운 해요, 나는 바로 그것을 할 뜨거운 모른다 - 내가 하위 뷰를 추가하지만, 그것을 위해 컨트롤러를 추가하지 않은 것이 지금은 이해합니다. 아마도 그렇습니다. 그러나 viewDidAppear 메서드라고 부릅니다.

답변

1

버튼 상호 작용이 활성화되어 있는지 또는 상위 뷰가 있는지 확인해 보았습니까? 개체 또는 다른보기에 의해 겹쳐져 있었습니까?

이 문제는 이전에 경험했으며 방금이 문제를 모두 확인하고 다소 문제를 수정했습니다.

0

당신 말 :

내가 IBAction를에 링크를 제거하려고하고 다시

그래서 그것을 다시 ... 다시 연결 인터페이스 빌더에서 연결을 삭제 시도하고 (이미 아마했습니다 done)

또주의해야 할 점은.

내가 스위프트 3에서,이 같은 방법을 만드는 경우 :

@IBAction func buttonClicked(sender: AnyObject) { 
     print("hello") 
    } 

을 한 후 다음 연결이

enter image description here

주목하라 "와 같이 보이는 연결을 시도 발신자 "부분은 추가하지 않았지만 새 Swift 3 매개 변수 이름 지정의 일부입니다.

것을 방지하기 위해, 나는이 내 방법 이름을 바꿀 수 있습니다

enter image description here

:

@IBAction func buttonClicked(_ sender: AnyObject) { 
    print("hello") 
} 

내가 다시 연결

을 (발신자 전에 _ 통지) 그리고 경우 상황이 예상대로 나타납니다. 어쩌면 그게 너를 물 렸나? 인터페이스 빌더는 이라는 @IBAction을 찾고 @IBActiononManClicked이라고 정의합니다.

희망이 도움이됩니다.

+0

예, IB에서 참조를 삭제했습니다. 당신은 그림을 볼 수 있으며, onManClicked 메소드 인 코드에서와 같이 onManClicked 메소드를 호출합니다. 4 버튼 클릭 중 하나도 작동하지 않습니다. 이보기가 추가 된 방법을 보여주기 위해 내 게시물을 편집했습니다. 이게 문제일까요? 나는 iOS에 익숙하지 않고 신속합니다. – user2976267

+0

당신은'onManClicked (_ sender : AnyObject)'(주의하십시오 _) – pbodsk

+0

로 이름을 변경해 보시고 매개 변수에 "Extranous '_'라는 경고를 보여 주실 수 있습니다 : 'sender'는 키워드 인자 이름이 없습니다. 편집 된 게시물의 끝 - 문제가있을 수 있습니다. – user2976267

관련 문제