Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在uitableviewcell自定义单元格中设置UIView的大小_Objective C_Xcode_Uitableview_Customization - Fatal编程技术网

Objective c 如何在uitableviewcell自定义单元格中设置UIView的大小

Objective c 如何在uitableviewcell自定义单元格中设置UIView的大小,objective-c,xcode,uitableview,customization,Objective C,Xcode,Uitableview,Customization,我在UITableView的自定义单元格中有一个UIButton,当拖动该按钮时,我必须在单元格中打开另一个视图,该视图最初位于单元格的最右角的自定义单元格中 - (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { RecentCell *cell = (RecentCell*)[_tableView dequeueReusableCell

我在UITableView的自定义单元格中有一个UIButton,当拖动该按钮时,我必须在单元格中打开另一个视图,该视图最初位于单元格的最右角的自定义单元格中

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
 RecentCell *cell = (RecentCell*)[_tableView dequeueReusableCellWithIdentifier: [NSString stringWithFormat:@"%d-%d",indexPath.section,indexPath.row]];

    if (cell == nil) {
        cell = [[[NSBundle mainBundle] loadNibNamed:@"RecentCell" owner:self options:nil] lastObject];
    }

    [cell.TestButton addTarget:self action:@selector(ViewMovedTouchDragInside:withEvent:) forControlEvents:UIControlEventTouchDragInside];

return cell;

}
拖动按钮时调用此方法

- (IBAction) ViewMovedTouchDragInside:(id) sender withEvent:(UIEvent *) event
{
    UIControl *control = sender;

    UITouch *t = [[event allTouches] anyObject];
    CGPoint pPrev = [t previousLocationInView:control];
    CGPoint p = [t locationInView:control];

    CGPoint center = control.center;
    center.x += p.x - pPrev.x;
    CGPoint hitPoint = [sender convertPoint:CGPointZero toView:self.tableView];
    NSIndexPath *hitIndex = [self.tableView indexPathForRowAtPoint:hitPoint];
    RecentCell * swipedCell = (RecentCell*)[self.tableView cellForRowAtIndexPath:hitIndex];
       //Drag Button on left hand side
        if (control.frame.origin.x<0) {


        swipedCell.MessageView.Frame=CGRectMake(320.0+control.frame.origin.x,0,control.frame.origin.x,swipedCell.MessageView.frame.size.height);

       NSLog(@"*****%f*****%f****%f****%f",swipedCell.MessageView.frame.origin.x,swipedCell.MessageView.frame.origin.y,swipedCell.MessageView.frame.size.width,swipedCell.MessageView.frame.size.height);
            }
            else{
               swipedCell.CallImage.frame=CGRectMake(0.0,0,control.frame.origin.x,cell.CallImage.frame.size .height);
            }
        }
-(iAction)ViewMovedTouchDragInside:(id)发送方withEvent:(UIEvent*)事件
{
UIControl*控制=发送方;
UITouch*t=[[event AllTouchs]anyObject];
CGPoint pPrev=[t previousLocationInView:对照];
CGP点=[t位置视图:对照];
CGPoint center=control.center;
center.x+=p.x-pPrev.x;
CGPoint hitPoint=[sender-convertPoint:CGPointZero-toView:self.tableView];
NSIndexPath*hitIndex=[self.tableView indexPathForRowAtPoint:hitPoint];
RecentCell*swipedCell=(RecentCell*)[self.tableView cellForRowAtIndexPath:hitIndex];
//左侧的拖动按钮

如果(control.frame.origin.x)选中此演示,将对象保留在scrollView中,只需左右拖动即可