自定义(通过子类化)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;
我做错了吗?或问题出在其他地方?
答案 0 :(得分: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
}
答案 1 :(得分:0)
设置image属性不会改变UIImageView的大小。调用sizeToFit调整视图的大小以匹配图像。您还可以使用self.logInView.logo.frame = CGRectMake(0,0,152,152)将其帧显式设置为152x152;或类似的东西。另一件要检查的是图像视图的内容模式。也许是UIViewContentModeCenter或UIViewContentModeScaleAspectFit。