问题描述
我要做一个从侧边弹出的tableview,设置了宽度为屏幕的三分之二,在我手机上就是250,
但是设置cell的时候,发现cell的宽度竟然有320,这是怎么回事?
相关代码
self.rightSideMenu = [[UITableView alloc]initWithFrame:CGRectMake(self.view.size.width, 0, self.view.size.width*2/3, self.view.size.height) style:UITableViewStyleGrouped];
self.rightSideMenu.delegate = self;
self.rightSideMenu.dataSource = self;
- (nonnull UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {
static NSString *identifier = @"";
if (indexPath.section == 0) {
identifier = @"mapTypeCell";
MapTypeCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (!cell) {
cell = [[MapTypeCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
[cell initData];
}
return cell;
}else{
identifier = @"rightSideMenuCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
if (!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier];
}
return cell;
}
}
MapTypeCell里还要再放一个collectionview
self.collectionView = [[UICollectionView alloc]initWithFrame:self.contentView.bounds collectionViewLayout:layout];
self.collectionView.dataSource = self;
self.collectionView.delegate = self;
[self.contentView addSubview:self.collectionView];
现在collctionview的宽度为320,有一部分超出屏幕了。
默认是 320 的,感觉初始化没有做好
那个 cellForRowAtIndexPath 中 Cell 的写法,官方很早就不推荐了啊