我尝试自定义一个uitabbar
我扩展了uitabbar项目,现在它有一个自定义的图像,但我不能摆脱圆角的边缘。
代码:
@interface CustomTabBarItem : UITabBarItem
{
UIImage *customHighlightedImage;
}
@property (nonatomic, retain) UIImage *customHighlightedImage;
@end
@implementation CustomTabBarItem
@synthesize customHighlightedImage;
- (void) dealloc
{
[customHighlightedImage release]; customHighlightedImage=nil;
[super dealloc];
}
-(UIImage *) selectedImage
{
return self.customHighlightedImage;
}
@end也许索莫恩知道如何去掉圆角直齿。
在图像周围
提前谢谢你,亚历克斯
发布于 2010-05-27 20:24:23
感谢您使用自定义选项卡栏项目解决了此问题
尚未获得苹果公司的批准。
进入tabController1.m
- (id) init
{
if(self = [super init])
{
CustomTabBarItem *tabItem = [[CustomTabBarItem alloc]
initWithTitle:@"" image:nil tag:0];
tabItem.customHighlightedImage=[UIImage imageNamed:TABBAR_TAB_4_ACTIVE];
tabItem.customStdImage=[UIImage imageNamed:TABBAR_TAB_4_DEFAULT];
self.tabBarItem=tabItem;
[tabItem release];
tabItem=nil;
}
return self;
}cutom tabbaritem:
@interface CustomTabBarItem : UITabBarItem
{
UIImage *customHighlightedImage;
UIImage *customStdImage;
}
@property (nonatomic, retain) UIImage *customHighlightedImage;
@property (nonatomic, retain) UIImage *customStdImage;
@end
#import "CustomTabBarItem.h"
@implementation CustomTabBarItem
@synthesize customHighlightedImage;
@synthesize customStdImage;
- (void) dealloc
{
[customHighlightedImage release]; customHighlightedImage=nil;
[customStdImage release]; customStdImage=nil;
[super dealloc];
}
-(UIImage *) selectedImage
{
return self.customHighlightedImage;
}
-(UIImage *) unselectedImage
{
return self.customStdImage;
}
@end发布于 2010-10-28 17:35:31
这是脏的-但工作并获得批准:
在标签控制器设置中
tabController = [[UITabBarController alloc] init];
tabController.view.frame = CGRectMake(0, 72, 320, 480 - (82));
tabController.delegate = self;
UIImageView *bgImageView;
bgImageView = [ [ UIImageView alloc ] initWithImage: [UIImage imageNamed:TABBAR_BACKGROUND]];
bgImageView.frame = CGRectMake(0, -11, 320, 60);
[[tabController tabBar] addSubview:bgImageView];
[[tabController tabBar] sendSubviewToBack:bgImageView];
tabController.tabBar.frame = CGRectMake(0, 460 - (59 + 52 - 11), 320, 49);
[bgImageView release];
[window addSubview:tabController.view];在tabviewcontroller1初始化方法中
- (id) init
{
if(self = [super init])
{
CustomTabBarItem *tabItem = [[CustomTabBarItem alloc]
initWithTitle:@"" image:nil tag:0];
tabItem.customHighlightedImage=[UIImage imageNamed:TABBAR_TAB_1_ACTIVE];
tabItem.customStdImage=[UIImage imageNamed:TABBAR_TAB_1_DEFAULT];
self.tabBarItem=tabItem;
[tabItem release];
tabItem=nil;
}
return self;
}自定义选项卡栏看起来像
@interface CustomTabBarItem : UITabBarItem
{
UIImage *customHighlightedImage;
UIImage *customStdImage;
}
@property (nonatomic, retain) UIImage *customHighlightedImage;
@property (nonatomic, retain) UIImage *customStdImage;
@end
#import "CustomTabBarItem.h"
@implementation CustomTabBarItem
@synthesize customHighlightedImage;
@synthesize customStdImage;
- (void) dealloc
{
[customHighlightedImage release]; customHighlightedImage=nil;
[customStdImage release]; customStdImage=nil;
[super dealloc];
}
-(UIImage *) selectedImage
{
return self.customHighlightedImage;
}
-(UIImage *) unselectedImage
{
return self.customStdImage;
}
@end重要信息:
我是iphone开发的新手,你可以用这种方式做的不那么麻烦。此外,我也同意这一点,这并不意味着你也会自动同意。
发布于 2010-05-12 00:01:48
将具有圆角的视图上的cornerRadius设置为0:
view.layer.cornerRadius = 0;此外,您可能需要添加一个#include来获取CALayer声明:
#import <QuartzCore/QuartzCore.h>https://stackoverflow.com/questions/2811905
复制相似问题