【发布时间】:2017-06-03 15:33:58
【问题描述】:
我以编程方式创建了一个 UIButton 并设置了它的图像,但图像不会垂直居中,它总是呈现在按钮的底部。
这是我的代码:
CGFloat logoutButtonSize = self.profileItem.detailView.frame.size.height;
CGFloat logoutButtonX = self.profileItem.detailView.frame.size.width - logoutButtonSize - 8;
CGRect logoutButtonFrame = CGRectMake(logoutButtonX, 0, logoutButtonSize, logoutButtonSize);
UIButton *logoutButton = [[UIButton alloc] initWithFrame:logoutButtonFrame];
[logoutButton setImage:[UIImage imageNamed:@"logout.png"] forState:UIControlStateNormal];
logoutButton.imageView.contentMode = UIViewContentModeCenter;
logoutButton.contentMode = UIViewContentModeCenter;
[logoutButton addTarget:self
action:@selector(confirmLogout)
forControlEvents:UIControlEventTouchUpInside];
logoutButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
logoutButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
logoutButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
为按钮的 imageView 设置不同的背景颜色后,我可以看到它仍然与底部对齐:
(蓝色 = 按钮,红色 = 图像视图)
为什么它不起作用?
【问题讨论】:
-
检查我的答案,它会工作
标签: ios objective-c uibutton