是否可以为UITableView添加边框样式?
不仅仅是bordercolor和borderwidth。
例如凹槽边框样式?
答案 0 :(得分:10)
嘿您可以使用CALayer
QuartzCore Framework
为您的观点添加边框
以下链接可帮助您详细了解CALayer
。
Introduction to CALayers Tutorial
例如,从以上链接
// Import QuartzCore.h at the top of the file
#import <QuartzCore/QuartzCore.h>
// In viewDidLoad add the following lines
self.view.layer.backgroundColor = [UIColor orangeColor].CGColor;
self.view.layer.cornerRadius = 20.0;
self.view.layer.frame = CGRectInset(self.view.layer.frame, 20, 20);
CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.shadowOffset = CGSizeMake(0, 5);
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 1.0;
sublayer.frame = CGRectMake(30, 30, 128, 192);
[self.view.layer addSublayer:sublayer];
虽然上面的代码不会给你精确的凹槽效果。但你可以尝试一下。
答案 1 :(得分:7)
尝试这段代码可能对你有帮助....
在视图中编写此代码时,会加载方法并在.h文件或.m文件中导入QuartzCore框架。
[myTBL.layer setBorderWidth: 1.0];
[myTBL.layer setCornerRadius:8.0f];
[myTBL.layer setMasksToBounds:YES];
[myTBL.layer setBorderColor:[[UIColor blackColor] CGColor]];
快乐的编码.....
答案 2 :(得分:5)
最灵活的方法是让你的UITableView成为UIImageView的子视图,并使用可伸缩的图像来渲染边框样式。在UIImageView中插入UITableView,为所有边上的边框提供所需的空间。
创建一个小方形图像作为PNG,具有透明背景和任何您想要的蚀刻,阴影或边框样式。
然后使用以下方法将其转换为可伸缩的图像。这将获取图像名称并返回一个可伸缩的图像,以便在调整大小时保留样式:
- (UIImage*)makeStretchableImageNamed:(NSString*)imageName
{
UIImage *image = [UIImage imageNamed:imageName];
CGSize size = image.size;
image = [image stretchableImageWithLeftCapWidth:size.width / 2.0f topCapHeight:size.height / 2.0f];
return image;
}
使用该图像设置UIImageView的image
属性,并将contentMode
属性设置为UIViewContentModeScaleToFill
。
答案 3 :(得分:3)
你可以做的是获取纹理的图像并将该图像放在UIImageView中,然后在Imageview中添加TableView,就像它从各个方面显示图像一样......
答案 4 :(得分:1)
您无法设置样式,但可以使用图案图像和UIColor来模拟像虚线一样的图案。
UIView *item;
item.layer.borderColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"checkerboard.png"]].CGColor;
不要忘记将其添加到标题中:
#import <QuartzCore/QuartzCore.h>