0

我目前正在使用 UAModalPanel,我只想用这个组件显示图片。所以我做了以下事情:

#import <UIKit/UIKit.h>
#import "UAModalPanel.h"

@interface LolcatPanel : UAModalPanel

- (void)showLolcat;

@end


#import "LolcatPanel.h"

@implementation LolcatPanel

- (void)showLolcat
{
    int pic = (arc4random() % 10) + 1;
    NSString *intString = [NSString stringWithFormat:@"%d", pic];
    NSMutableString *picture = [[NSMutableString alloc] initWithString:intString];
    [picture appendString:@".jpg"];
    NSLog(@"Loading image %@", picture);

    NSString* imageName = [[NSBundle mainBundle] pathForResource:intString ofType:@"jpg"];

    UIImage *testImage = [UIImage imageWithContentsOfFile:imageName];

    if (testImage == nil) {
        NSLog(@"FAILED");
    }

    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.bounds.size.width, self.bounds.size.height)];
    imgView.image = testImage;
    imgView.contentMode = UIViewContentModeScaleToFill;

    [self addSubview:imgView];
}

@end

我想在 UAModelPanel 中显示适合的图片,但 ATM 的结果并不是很好。

4

2 回答 2

0

检查图像视图显示时的大小。您还应该配置自动调整大小/自动布局,以便它对正在更改的超级视图有已知的反应。

您可能希望切换到宽高比适合而不是缩放填充内容模式以获得良好的显示效果。您可能还需要设置图像视图以clipToBounds防止在设置的范围之外绘制任何图像。

于 2013-08-22T15:03:41.693 回答
0

我找到了解决方案:

UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(22, 20, width, height)];
imgView.image = testImage;
imgView.contentMode = UIViewContentModeScaleAspectFit;

[self.contentContainer addSubview:imgView];

我不得不将图像视图添加到内容容器中。

问候,萨沙

于 2013-08-22T15:12:55.747 回答