注意的地方:我們先打印一下看看UITabBar裡面存在的子控件:
我們可以看出,這裡打印出了除UITabBarButton之外的兩個控件:UITabBarBackgroundView和UIImageView。<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCrTTs9+0587Sw8e+zcTcutzD98/UtcS/tLP2oaNVSVRhYkJhckJhY2tncm91bmRWaWV3vs3Kx9XiuPZ0YWJiYXK1xLGzvrDNvMaso6zIu7rzVUlJbWFnZVZpZXe+zcrHyc/D5rXExMfSu7j5z9+ho8THw7TU2tfUtqjS5b/YvP7J6NbDZnJhbWW1xMqxuvKjrL7NsrvE3NaxvdPEw7P2z8Kx6rvy1d9zZWxmLnN1YnZpZXdzLmNvdW50oaPAtLvxtcPX07/YvP61xLj2yv3By6Gj0qq9+NDQxdC2z8HLo7oNCjxwcmUgY2xhc3M9"brush:java;">
for (UIView *child in self.subviews)
{
Class class = NSClassFromString(@"UITabBarButton");
if ([child isKindOfClass:class])
{
//設置frame的代碼
}
}
因為這個UITabBarButton是一個私有的,所以我們通過上面這個方法來進行判斷一下,再設置我們的frame,就去除了剛剛那兩個控件的干擾。