我的视图控制器中有pickerview
。我通过添加到子视图然后更改子视图的框架来显示它。当我显示pickerview
时,我后面有一个按钮。当我在禁用pickerview
之后点击那些区域时,仍然会调用该按钮操作。如何正确设置pickerview
?
答案 0 :(得分: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
响应。当用户直接触摸主视图而不是选择器内容时,这就是苹果使主选择器视图对用户触摸透明的方式,返回nil。