基于数组中的 n 个图像在视图中居中图像
Center images in view based on n images in array
我正在尝试根据数组中的按钮数量将按钮居中。
因此对于一个对象,您可以通过以下方式将其居中:
CGRect originalFrame = self.view.frame;
button.frame = CGRectMake(orignalFrame.size.width/2 - self.button.frame.size.width/2, etc, etc, etc);
但是,当我在数组中有 n 个对象时,我很难将它们居中。这是我到目前为止所拥有的,但它从未对齐 x:
-(void)displayIconsFromSignedInArray:(NSArray *)array {
CGFloat buttonWidthHeight = 50;
CGFloat x = (self.view.frame.size.width / array.count) - (buttonWidthHeight / 2)*array.count;
for (UIButton *button in array) {
button.frame = CGRectMake(x, self.view.frame.size.height/2 - buttonWidthHeight/2, buttonWidthHeight, buttonWidthHeight);
x += buttonWidthHeight + 2.5;
[self.view addSubview:button];
}
}
这就是我的结局:
从外观上看,FB 图标的原点是 start 在宽度的一半处,但我没弄对。请帮助我理解这样做的过程,无论是更好的方法还是以这种方式修复。谢谢。
第一个偏移量 = 一半宽度 - 所有按钮宽度的一半。可能需要考虑view不能连续显示button的情况。
CGFloat x = self.view.frame.size.width/2 - buttonWidthHeight*array.count/2;
我正在尝试根据数组中的按钮数量将按钮居中。
因此对于一个对象,您可以通过以下方式将其居中:
CGRect originalFrame = self.view.frame;
button.frame = CGRectMake(orignalFrame.size.width/2 - self.button.frame.size.width/2, etc, etc, etc);
但是,当我在数组中有 n 个对象时,我很难将它们居中。这是我到目前为止所拥有的,但它从未对齐 x:
-(void)displayIconsFromSignedInArray:(NSArray *)array {
CGFloat buttonWidthHeight = 50;
CGFloat x = (self.view.frame.size.width / array.count) - (buttonWidthHeight / 2)*array.count;
for (UIButton *button in array) {
button.frame = CGRectMake(x, self.view.frame.size.height/2 - buttonWidthHeight/2, buttonWidthHeight, buttonWidthHeight);
x += buttonWidthHeight + 2.5;
[self.view addSubview:button];
}
}
这就是我的结局:
从外观上看,FB 图标的原点是 start 在宽度的一半处,但我没弄对。请帮助我理解这样做的过程,无论是更好的方法还是以这种方式修复。谢谢。
第一个偏移量 = 一半宽度 - 所有按钮宽度的一半。可能需要考虑view不能连续显示button的情况。
CGFloat x = self.view.frame.size.width/2 - buttonWidthHeight*array.count/2;