os系统升级到7.1后,原来在7.0下显示正常的UISearchbar现在又出现问题了。究其原因,是由于UISearchbar的subview又做修改了。
float version = [[[ UIDevice currentDevice ] systemVersion ] floatValue ];
if ([ mySearchBar respondsToSelector : @selector (barTintColor)]) {
float iosversion7_1 = 7.1 ;
if (version >= iosversion7_1)
{
//iOS7.1
[[[[ mySearchBar . subviews objectAtIndex : 0 ] subviews ] objectAtIndex : 0 ] removeFromSuperview ];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}
else
{
//iOS7.0
[ mySearchBar setBarTintColor :[ UIColor clearColor ]];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}
}
else
{
//iOS7.0 以下
[[ mySearchBar . subviews objectAtIndex : 0 ] removeFromSuperview ];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}
float version = [[[ UIDevice currentDevice ] systemVersion ] floatValue ];
if ([ mySearchBar respondsToSelector : @selector (barTintColor)]) {
float iosversion7_1 = 7.1 ;
if (version >= iosversion7_1)
{
//iOS7.1
[[[[ mySearchBar . subviews objectAtIndex : 0 ] subviews ] objectAtIndex : 0 ] removeFromSuperview ];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}
else
{
//iOS7.0
[ mySearchBar setBarTintColor :[ UIColor clearColor ]];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}
}
else
{
//iOS7.0 以下
[[ mySearchBar . subviews objectAtIndex : 0 ] removeFromSuperview ];
[ mySearchBar setBackgroundColor :[ UIColor clearColor ]];
}

本文详细介绍了在iOS系统从7.0升级至7.1后,UISearchbar组件出现的问题及其解决方案。通过比较不同iOS版本的UISearchbar属性和方法变化,作者成功定位问题并提供了修复代码。
5401

被折叠的 条评论
为什么被折叠?



