我正在将一个
UIButton
添加到UIToolbar
中,但我不想将其作为UIBarButtonItem
。这样可以更好地控制UIButton
在框架内的位置。我为“Normal”和“Selected”状态设置了不同的标题。除了在“Selected”状态下,在UIButton
标题前面会有一个1像素的点外,一切都很正常。
工具栏:
UIToolbar *customView = [[UIToolbar alloc] initWithFrame:CGRectMake(HEADER_MARGIN, 0, HEADER_WIDTH, HEADER_HEIGHT)];
[customView setBarTintColor:[UIColor whiteColor]];
按钮:
UIButton *listOrderButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, ORDER_BUTTON_WIDTH, ORDER_BUTTON_HEIGHT)];
[listOrderButton setCenter:CGPointMake(customView.center.x, HEADER_HEIGHT/2)];
[listOrderButton.titleLabel setFont:[UIFont systemFontOfSize:ORDER_BUTTON_FONT_SIZE]];
[listOrderButton.titleLabel setTextAlignment:NSTextAlignmentCenter];
[listOrderButton setTitle:@"ABC" forState:UIControlStateNormal];
[listOrderButton setTitle:@"Time" forState:UIControlStateSelected];
[listOrderButton setTitleColor:[UIColor blueAppColor] forState:UIControlStateNormal];
[listOrderButton addTarget:self action:@selector(listOrderChange:) forControlEvents:UIControlEventTouchUpInside];
[customToolbar addSubview:listOrderButton];
选择器:
- (void)listOrderChange:(UIButton *)sender {
[sender setSelected:!sender.selected];
}
正在发生的情况图像:
- 未选中时没有点
- 选中时有一个点
这在设备和模拟器上都会发生。更改任何状态的文本颜色对点本身的颜色没有影响。
我还应指出,该点宽两个点,高一个点。
po [[UIWindow keyWindow] recursiveDescription]
,您是否会看到在工具栏下的视图层次结构中不属于其中的任何内容? - Aaron Golden