2013-12-18 58 views
0

我是记分牌应用程序,我不需要在按钮单击时添加UItextfield和标签。我不断收到这些方法的错误。有什么建议么?CGFloat中的错误消息

错误消息: “分配为 '的UIView *' 从不兼容的类型的 '双'”

self.yOffset = 60.0; 

错误消息: “分配从不兼容的类型 'CGFloat的'(亦称 '浮动')“的UIView * ””

frame.origin.y = self.yOffset; 

错误消息: “无效的操作数的二进制表达式( '的UIView *' 和 'CGFloat的'(亦称 '浮动'))”

self.yOffset += frame.size.height; 

下面是代码:

-(void)addPlayerTapped:(id)sender { 

    NSLog(@"Adding Player"); 
    self.yOffset = 60.0; 

    UIViewController *llVC = [[DetailViewController alloc] init]; 
    llVC.view.alpha = 0.0; 
    [self.playersArray addObject:llVC]; 
    [self.view addSubview:llVC.view]; 

    [self repositionFields]; 
} 

-(void)repositionFields { 

    // Reposition each view in the array 
    for (DetailViewController *llVC in self.playersArray) { 
     CGRect frame = llVC.view.frame; 
     frame.origin.x = 15; 
     frame.origin.y = self.yOffset; 
     llVC.view.frame = frame; 
     self.yOffset += frame.size.height; 
    } 

    // Add some animations to make it look nice 
    [UIView animateWithDuration:0.3 animations:^{ 
     CGRect frame = self.addPlayerButton.frame; 
     frame.origin.y = self.yOffset; 
     self.addPlayerButton.frame = frame; 
    } completion:^(BOOL finished) { 
     DetailViewController *llVC = [self.playersArray lastObject]; 
     llVC.view.alpha = 1.0; 
    }]; 
} 
+0

你如何声明'yOffset'? – Macondo2Seattle

+0

@property(assign,nonatomic)CGFloat * yOffset; – user3088011

+0

这应该是'CGFloat yOffset',而不是'CGFloat * yOffset' - 你不希望它是一个指针。 – Chuck

回答

2

从它看起来的错误信息来看像你这样的声明yOffsetUIView *而不是CGFloat,即像

@property (assign, nonatomic) UIView *yOffset; 

,而应该是

@property (assign, nonatomic) CGFloat yOffset;