0

自定义(通过子类化)PFLogInViewController 时;我的标志有问题。我使用了一张正方形的图片,由于某种原因它被扭曲了,实际上是扁平的。

这是代码:

UIImage *logoImage;
logoImage = [UIImage imageNamed:@"myLogo.png"]; // 152 x 152 pixels.
self.logInView.logo = [[UIImageView alloc] initWithImage:logoImage];
self.logInView.logo.layer.cornerRadius = 7.0;
self.logInView.logo.clipsToBounds = YES;

难道我做错了什么?还是问题出在不同的地方?

4

2 回答 2

1

我遇到了同样的问题,在查看了 Dare 的答案后,我想出了一个解决方案。

覆盖viewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()
    let logo = UIImageView(image: UIImage(named: "logo"))
    logo.contentMode = .ScaleAspectFill
    logInView!.logo = logo
}

这解决了我的缩放问题。但是,根据徽标的大小,它可能会溢出屏幕。一个肮脏的解决方法是覆盖viewDidLayoutSubviews和硬编码logo对象的来源:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    logInView!.logo!.frame.origin.y += 200 //here I moved the logo down by 200 points
}
于 2015-08-10T23:43:46.677 回答
0

设置图像属性不会改变 UIImageView 的大小。调用 sizeToFit 来调整视图的大小以匹配图像。您还可以使用 self.logInView.logo.frame = CGRectMake(0,0,152,152); 将其框架显式设置为 152x152;或类似的东西。要检查的另一件事是图像视图的内容模式。也许是 UIViewContentModeCenter 或 UIViewContentModeScaleAspectFit。

于 2015-04-03T19:58:27.367 回答