self.iconLabel.frame = self.contentView.frame;
self.iconLabel.font = [UIFont systemFontOfSize:100.0];
self.iconLabel.text = @"+";
self.iconLabel.textColor = [UIColor blackColor];
self.iconLabel.textAlignment = NSTextAlignmentCenter;
所以UILabel
的框架大小与其容器视图self.contentView
相同。
我需要"+"符号垂直居中,我想要它在中心位置。
如何实现这一点?
我唯一的想法是将iconLabel.frame
上移。
编辑:从self.iconImageView
更改为UIView
类型的self.contentView
。 UILabel
位于UIImageView
类型的self.iconImageView
之上。
编辑2:尝试实现kshitij godara的代码,结果如下:
我稍微修改了代码:
CGSize constraint = CGSizeMake(self.contentView.frame.size.width, self.contentView.frame.size.height);
NSString *str = @"+";
UIFont *myFont = [UIFont systemFontOfSize:100.0];
CGSize stringSize = [str sizeWithFont:myFont constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];
self.iconLabel.frame = CGRectMake(0, 0, stringSize.width, stringSize.height);
self.iconLabel.font = myFont;
self.iconLabel.lineBreakMode = NSLineBreakByWordWrapping;
self.iconLabel.numberOfLines = 0;
[self.iconLabel sizeToFit];
self.iconLabel.text = str;
编辑3:
这个框架相当大:
UIView
。iconImageView是一个UIImageView
。iconImageView和iconLabel都在contentView中。我尝试将其从frame更改为bounds,但结果没有改变。 - Padin215