2014-01-07 2 views
1

내보기 컨트롤러에 pickerview 있습니다. 하위보기에 추가 한 다음 하위보기의 프레임을 변경하여 표시하고 있습니다. 내 pickerview이 표시되면 하나의 버튼이 표시됩니다. pickerview을 표시 한 후 해당 영역을 클릭하면 해당 버튼 동작이 호출됩니다. pickerview을 올바르게 설정하는 방법은 무엇입니까?Uipickerview 항목 작업 후

+0

ActionSheet를 사용하셨습니까? – Mani

+0

질문에 대해 설명해 주시겠습니까? "적절한 설정"이란 무엇을 의미합니까? 피커 뷰 뒤에있는 버튼의 동작은 피커 뷰의 버그로 인해 발생할 수 있습니다. 먼저, pickerview를 표시하는 동안 버튼에 대한 사용자 상호 작용 비활성화를 쉽게 숨길 수 있다는 것을보고 할 수 있습니다. –

+0

이것이 ios7에서 작동하고 있기를 바랍니다. 그래서 사과 기능. 당신은 당신의 논리에 따라 그것을 할 수 있습니다. 피커 뷰가 표시 될 때 뷰의 사용자 상호 작용을 사용하지 않도록 설정할 수 있으며 피커 뷰가 숨겨져있는 경우 뷰의 상호 작용이 활성화되도록 설정할 수 있습니다. –

답변

1

하위 클래스 PickerView를 사용하면이 문제를 해결하는 데 도움이됩니다.

// 
// WPCustomPickerView.h 
// test 
// 
// Created by VASANTH K on 08/01/14. 
// 
// 

#import <UIKit/UIKit.h> 

@interface WPCustomPickerView : UIDatePicker 

@end 

구현 파일

// 
// WPCustomPickerView.m 
// test 
// 
// Created by VASANTH K on 08/01/14. 
// 
// 

#import "WPCustomPickerView.h" 

@implementation WPCustomPickerView 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 


-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event 
{ 
    id hitview=[super hitTest:point withEvent:event]; 
    if(!hitview) 
    { 
    if(point.y<=self.frame.size.height&&point.y>=0) 
    return self; 
     } 
return hitview; 
} 


@end 

여기서 나는 hitTest은 사용자 상호 작용을위한 UIPickerView 응답을 만들기 위해 우선합니다. 이는 사용자가 피커 내용 대신 기본보기를 직접 터치 할 때 사과가 주 피커보기를 사용자 터치에 대해 투명하게 만드는 방법입니다.