我有一个UITableView
,我想UIImageView
在前景上方放置一个透明的UITableView
.
问题是如果我添加UIImageView
上面的,UITableView
我不能滚动,UITableView
因为它在UIImageView
.
有没有办法在 aUIImageView
之上UITableView
并且仍然能够在 a 上滚动UITableView
?
我有一个UITableView
,我想UIImageView
在前景上方放置一个透明的UITableView
.
问题是如果我添加UIImageView
上面的,UITableView
我不能滚动,UITableView
因为它在UIImageView
.
有没有办法在 aUIImageView
之上UITableView
并且仍然能够在 a 上滚动UITableView
?
这里是UITable的代码
如果您想在 tableview 下放置背景图像,您可以在viewDidLoad或viewWillDidAppear中使用此代码
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]];
或者
// here you can setting RGB color and Alpha channel
self.tableView.backgroundColor = [UIColor colorWithRed:(255/256.0) green:(255/256.0) blue:(255/256.0) alpha:1.0];
如果您想在cellForRowAtIndexPath下使用此更改单个表或 tableView 设计的视图
UIImage *background = [self cellBackgroundForRowAtIndexPath:indexPath];
UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:background];
cellBackgroundView.image = background;
cell.backgroundView = cellBackgroundView;
并创建一个 UIImage 单元格背景:
- (UIImage *)cellBackgroundForRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger rowCount = [self tableView:[self tableView] numberOfRowsInSection:0];
NSInteger rowIndex = indexPath.row;
UIImage *background = nil;
if (rowIndex == 0) {
background = [UIImage imageNamed:@"TopOfCell.png"];
} else if (rowIndex == rowCount - 1) {
background = [UIImage imageNamed:@"MiddleCell.png"];
} else {
background = [UIImage imageNamed:@"BottomCell.png"];
}
return background;
}
在这种情况下,如果您在所有 3 个级别中放置相同的 IMG,您可以看到单元格的唯一 BG,并且您不需要在前景中使用 UIImage 为 TableView 着色,您可以直接在单元格上进行设计,例如:
TopOfCell.png 是第一个单元格,您可以放置一个 IMG 高度 10px 宽度 300px 角半径为 5,在中间您可以使用一个 img 宽度 300px 高度 1136px 与一些图形,并在底部镜像第一个,你可以看到你的表与图形务实。
我希望这对你有帮助
为了实现你想要的,你必须通过你的图像视图“传递”触摸。一种方法是子类化UIImageView
并实现- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event{}
的方法UIView
。如果您返回NO
或FALSE
从该方法返回,您的自定义UIImageView
将通过所有触摸传递到它下面的子视图。祝你好运!
现在我关注你的问题。只需使用以下内容禁用对 imageView 的触摸,以允许其下方的滚动视图(tableView)接受触摸。
_imageView.userIneractionEnabled = NO;
您可以像这样以编程方式添加图像。
[self.demoTableView insertSubview:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"defaultThumbNail.png"]] atIndex:0];
只需将 UIImageView 作为控制器 viewDidLoad: 方法中的子视图添加到 UITableView 中。代码说明一切:
- (void)viewDidLoad
{
[super viewDidLoad];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 20, 320, 460)];
imageView.image = [UIImage imageNamed:@"image_name"];
[self.tableview addSubview:imageView];
}
注意图像视图的框架,因为它可以插入到容器控制器中,在这种情况下,您必须调整大小。
如果您在 xib 中执行此操作,则可以通过以下步骤完成...
就这样 ...