2016-01-11 71 views
1

我有一个视图需要裁剪。我有4个视图在主视图中显示视频子视图。由于视频比例的原因,我需要裁剪视频,使视频广场而不是矩形。这是我的代码:裁剪UIView

- (void)videoSize { 
    CGFloat size; 
    if ([self.videosView frame].size.height <= [self.emplacementView frame].size.width) { 
     size = [self.emplacementView frame].size.height; 
    } else { 
     size = [self.emplacementView frame].size.width; 
    } 
    CGFloat offsetX = 0; 
    CGFloat offsetY = 0; 

    NSArray* keys = [mediaStreams allKeys]; 
    int count = keys.count; 
    if (!count) return; 

    for (int i=0; i<count; i++) { 
     NSString* id = keys[i]; 
     MediaStream* ms = [ mediaStreams valueForKey:id ]; 
     switch (i) { 
      case 0: 
       offsetX = 0; 
       offsetY = 0; 
       break; 
      case 1: 
       offsetX = size/2; 
       offsetY = 0; 
       break; 
      case 2: 
       offsetX = 0; 
       offsetY = size/2; 
       break; 
      case 3: 
       offsetX = size/2; 
       offsetY = size/2; 
       break; 
      default: 
       break; 
     } 

     CGRect frame = CGRectMake(offsetX, offsetY, size/2, size/2); 
     [ms getVideoView].getView.frame = frame; 
     [ms getVideoView].getView.backgroundColor = [UIColor greenColor]; 
    } 
    [self.videosView addSubview:[ [ mediaStream getVideoView ] getView] ]; 
} 

我尝试了不同的方法,通过添加更多的视图来隐藏它们,但它根本不起作用。如果你已经有解决这个问题或解决它的想法。

回答

2

集clipsToBounds属性为每个显示视频的4次为YES

view1.clipsToBounds = YES;