是否可以为UITableView添加边框样式?(不是BorderColor/BorderWidth)

Pop*_*eye 5 iphone border objective-c uitableview ios

是否可以为UITableView添加边框样式?

不仅仅是bordercolor和borderwidth.

例如带凹槽的边框样式?

Dev*_*ang 10

嘿,你可以用你的意见给予边境CALayer它可在QuartzCore Framework

以下链接将帮助您CALayer详细了解.

CALayers教程简介

例如,从上面的链接,

// 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];
Run Code Online (Sandbox Code Playgroud)

虽然上面的代码不会给你精确的凹槽效果.但你可以尝试一下.


Vik*_*ngh 7

尝试这个代码可能会帮助你....

在您的视图中编写此代码确实加载了方法并在.h文件或.m文件中导入QuartzCore框架.

[myTBL.layer setBorderWidth: 1.0];
[myTBL.layer setCornerRadius:8.0f];
[myTBL.layer setMasksToBounds:YES];
[myTBL.layer setBorderColor:[[UIColor blackColor] CGColor]];
Run Code Online (Sandbox Code Playgroud)

快乐的编码.....

  • 如果你没有定义边框颜色和边框宽度,我认为不可能.但是一个技巧清除背景颜色并在表格视图中使用背景中的图像. (3认同)
  • 这基本上就是我现在所拥有的.但它没有添加凹槽样式,只是添加边框宽度为1,角落为8,边框为黑色.谢谢+1,但我确实说不仅仅是bordercolor和borderwidth. (2认同)

Rob*_*ill 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;
}
Run Code Online (Sandbox Code Playgroud)

使用该图像设置imageUIImageView的contentMode属性并将属性设置为UIViewContentModeScaleToFill.