如何在我的UIViewController中调用UIView方法?

时间:2014-02-26 21:08:19

标签: ios objective-c uiview uiviewcontroller

我有一个方法在我的自定义uiview中创建一个矩形,我想在我的UIViewController中调用它。我正在尝试在我的UIViewController中使用UITapGestureRecognizer并检查是否调用了矩形中的一个点。

我的自定义uiview(myView.m)中的

矩形

- (CGRect) myRect
{
    return CGRectMake(10, 10, self.bounds.size.height - 20, self.bounds.size.height - 20);
}

我的MyViewController.m中的UITapGestureRecognizer方法

- (void)viewDidLoad
{
    [super viewDidLoad];
[self.PlayDraw setNeedsDisplay];

}


- (IBAction)handleTap:(UITapGestureRecognizer *)sender {
    CGPoint point = [sender locationInView:self.view];

    if(CGRectContainsPoint([self.PlayDraw myRect],point)) {
        NSLog(@"touched");

    }

我的[self.PlayDraw myRect]出现

错误
  

'MyViewController'没有可见的@interface声明了   选择者'myRect'

这是我的MyViewController.h

@interface MyViewController : UIViewController
{

}
- (IBAction)handleTap:(UITapGestureRecognizer *)sender;
@property (strong, nonatomic) IBOutlet myView *PlayDraw;
@end

1 个答案:

答案 0 :(得分:0)

在myView.h文件中添加:

- (CGRect) myRect;

您必须将此方法公开给其他类。