如何在自定义单元格中查找按钮框架的x,y位置

时间:2013-01-28 06:43:51

标签: iphone objective-c frame cgrect custom-cell

我使用自定义单元格创建了一个表视图,如下所示。

![自定义单元格] [1]

![输出表格视图] [2]

我需要使用选择器而不是每个单元格中的滑块来设置评级

enter image description here

我只需要设置选择器位置,只需按下按钮就可以与按钮位置相对应

如何实现它。

iu尝试过fram&界限如下,但每次都给予相同的vaues

   - (IBAction) buttonClicked:(UIButton *)sender
    {      
          NSLog(@"------%f  %f",sender.frame.origin.x , sender.frame.origin.y); //250, 2

         NSLog(@"------%f  %f",sender.bounds.origin.x , bounds.frame.origin.y); // 0.0 , 0.0

       picker.frame = CGRectMake(sender.bounds.origin.x , sender.bounds.origin.y, 50, 216);
}

3 个答案:

答案 0 :(得分:5)

您在最后一行中输入了两次“.x”值,而不是第二次使用“.y”值。

此外,您需要将坐标转换为显示选择器的视图的坐标。包括显示选择器的代码,我可以帮助您。

会是这样的:

picker.frame = [viewThatYouAreDisplayingThePickerIn convertRect:sender.frame fromView:sender.superview];

答案 1 :(得分:1)

但是如果你想获得关于主视图的按钮框架,请使用:

 CustomCell *cell = (CustomCell *)[self.table cellForRowAtIndexPath:indexPath];

 CGRect buttonFrame = [cell.superview convertRect:cell.customButton.frame toView:self.view];

答案 2 :(得分:0)

按钮有一个名为locationInView的方法,该方法继承自UITouch

Returns the current location of the receiver in the coordinate system of the given view.
- (CGPoint)locationInView:(UIView *)view

Apple Developer Reference