gpt4 book ai didi

ios - iOS TableView行高

转载 作者:行者123 更新时间:2023-12-01 19:23:12 24 4
gpt4 key购买 nike

我需要2种行。一个高度为44像素,另一个高度为90像素:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath   *)indexPath {
if (indexPath.section == 0)
return 90.0;
else
return 44.0;
}

问题是当我调用-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath时,因为我需要向高度为90px的单元格中添加一个具有90px高度的scrollView,但是将其添加到中间单元位于顶部。
 if (indexPath.section == 0) {
cell = [tableView dequeueReusableCellWithIdentifier:ScrolledCellIdentifier];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ScrolledCellIdentifier];
//cell.textLabel.text = @"hi";

[cell addSubview:self.scrollView];
}

尝试设置单元格的textLabel起作用,问题在于添加了scrollView。

如果我将此行添加到代码中:
self.scrollView.frame = CGRectMake(0,-45, 320, 90);

它工作正常,但对我来说听起来有些奇怪。怎么了?

最佳答案

在添加scrollView的框架之前,请将其设置为单元格的边界。

所以

self.scrollView.frame = cell.bounds;
[cell addSubview:self.scrollView];

调试... NSLog ....输出事物的框架,这样您就可以看到它们的放置位置,而不是您希望它们放置的位置。使用它来输出框架坐标:
NSLog(@"Frame is: ", NSStringFromCGRect(self.scrollView.frame));

或定义一个不错的捷径,因为我一直在使用
#define LogCGRect(rect) NSLog(@"CGRect:%@", NSStringFromCGRect(rect));

那你就可以做
LogCGRect(self.scrollview.frame);

关于ios - iOS TableView行高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9183562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com