Fen*_*ski 5 xcode objective-c ios ios7
我将 a 添加UIButton到UIToolbar我不想作为 a 的 a 中,以便我可以更好地控制框架内部UIBarButtonItem的位置。UIButton我为“正常”和“选定”状态设置了不同的标题。对于 a 来说,一切都完全正常,除了当它处于“选定”状态时, 的标题UIButton前面有一个 1 像素的点。UIButton
工具栏:
UIToolbar *customView = [[UIToolbar alloc] initWithFrame:CGRectMake(HEADER_MARGIN, 0, HEADER_WIDTH, HEADER_HEIGHT)];
[customView setBarTintColor:[UIColor whiteColor]];
Run Code Online (Sandbox Code Playgroud)
按钮:
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];
Run Code Online (Sandbox Code Playgroud)
和选择器:
- (void)listOrderChange:(UIButton *)sender {
[sender setSelected:!sender.selected];
}
Run Code Online (Sandbox Code Playgroud)
正在发生的事情的图片:
- 未选择时没有点
- 选择后,有一个点
这种情况在设备和模拟器中都会发生。更改任何和所有状态的文本颜色与点本身的颜色无关。
我还应该指出,该点的宽度为两点,高度为一点。
我知道您不想使用 UIButton,而不是使用 UIButton,但是是否可以以编程方式创建一个 UIBarButton,为其提供 UIButton 的所有功能?由于 UITabBar 就像 UINavigation Bar 并且苹果建议使用 UIBarButtonItem 作为 bar/tabBar 按钮...我相信使用 UIBarButtonItem 可能会解决问题...