在UIImageView中仅显示原始图像的一部分

Nit*_*oth 2 objective-c uiimageview ios

如何在UIImageView中仅显示原始图像的一部分

这个问题可能非常熟悉和陈旧,但再次询问的原因是,在这些答案的帮助下我找不到一个可行的想法很多人说set image.contentMode = UIViewContentModeCenter; (但没有工作)

我几乎需要一个包含原始图像中心的矩形,我该怎么做?

当我向我的应用程序显示静态图像并将UIImageVie的内容模式设置为Aspect Fill时,我确实这样做了.但是,当我从url显示图像并使用NSData时,这是不可行的

添加我的代码和图像

   NSString *weburl = @"http://topnews.in/files/Sachin-Tendulkar_15.jpg";
   UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 50, 108, 86)];
   NSURL *url = [NSURL URLWithString:weburl];
   NSData *data = [NSData dataWithContentsOfURL:url];
   imageView.image = [UIImage imageWithData:data];

   [self.view addSubview:imageView];
Run Code Online (Sandbox Code Playgroud)

原始图像 目前outPut 需要

rak*_*hNS 8

如果您添加了UIImageView表单XIB,您可以在那里找到"mode"属性,然后您可以从那里查看和设置不同的模式(来自Interface builder).或者通过编程,您可以设置不同的模式

imageView.contentMode = UIViewContentModeCenter;
imageView.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)


Shi*_*tem 5

尝试这个:

self.imageView.layer.contentsRect = CGRectMake(0.25, 0.25, 0.5, 0.5);
Run Code Online (Sandbox Code Playgroud)

self.imageView将显示图像的中间部分。您可以自己计算所需的CGRect值?