Ios UIButton在UIToolbar内设置为“选定”时有点

Ios UIButton在UIToolbar内设置为“选定”时有点,ios,objective-c,xcode,ios7,Ios,Objective C,Xcode,Ios7,我正在将一个UIButton添加到一个UIToolbar中,我不想将它作为UIBarButtonItem来使用,这样我就可以更好地控制UIButton在框架内的位置。我为“正常”和“选定”状态设置了不同的标题。对于ui按钮而言,一切都完全正常,除非它被“选中”,在ui按钮标题的前面有一个1像素的点 工具栏: UIToolbar *customView = [[UIToolbar alloc] initWithFrame:CGRectMake(HEADER_MARGIN, 0, HEADE

我正在将一个
UIButton
添加到一个
UIToolbar
中,我不想将它作为
UIBarButtonItem
来使用,这样我就可以更好地控制
UIButton
在框架内的位置。我为“正常”和“选定”状态设置了不同的标题。对于
ui按钮
而言,一切都完全正常,除非它被“选中”,在
ui按钮
标题的前面有一个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];
}
正在发生的事情的图像:

-未选择时无点
-选中时,会有一个点

这在设备和模拟器上都会发生。更改任何和所有状态的文本颜色与点本身的颜色无关


我还应该指出,点是两个点宽一个点高。

我知道你不想使用UIBarButton,但有可能通过编程创建一个UIBarButton,让它具备UIButton的所有功能吗?
由于UITabBar类似于UINavigation Bar,苹果建议对Bar/tabBar按钮使用uiBarButtonim。。。我相信使用uibarbuttonite可以解决这个问题

非常好奇!在设备和模拟器上都会发生这种情况吗?如果您在调试器中停止并且
po[[UIWindow keyWindow]recursiveDescription]
在工具栏下看到不属于视图层次结构的内容吗?