用于 ipad 的 UITableViewCell 中的 UIButtons

Posted

技术标签:

【中文标题】用于 ipad 的 UITableViewCell 中的 UIButtons【英文标题】:UIButtons in UITableViewCell for ipad 【发布时间】:2011-05-07 07:06:55 【问题描述】:

我在 UITableViewCell 中创建了 UIButton。它在iphone中正确显示。但是当我为 iPad 升级这个应用程序时,UIbuttons 被移到右侧并从表格的边界出来。这是我的代码

UIButton *button2 = [UIButton buttonWithType:UIButtonTypeCustom];
[button2 setFrame:CGRectMake(47.0f, 100.0f, 16, 16.0f)];

[button2 setImage:[UIImage imageNamed:@"Delete.png"] forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];
[cell addSubview:button2];



return cell;

【问题讨论】:

【参考方案1】:

您可能应该将按钮添加到单元格的 contentView,而不是直接添加到单元格。

您可能还希望相对于 contentView 的框架大小放置按钮的框架原点,+ 设置按钮的自动调整大小掩码,以便根据单元格大小正确放置它(可以根据设备类型和/或界面方向更改)。

【讨论】:

谢谢..显示正常 嘿,我有类似的问题,我已经在单元格的内容视图上添加了按钮,还设置了自动调整大小的蒙版,但问题是当应用程序启动时,右键不可见,一旦我做了方向改变或点击其他按钮,按钮变得可见......你能建议我该怎么做吗? 您最好为此提出一个新问题,并可能在其中包含您的 cellForRowAtIndexPath: 方法的代码。【参考方案2】:

请试试这个。在你的代码中删除 [cell addSubview:button2];添加写入那里 [cell.contentView addSubview:button2];并且还用于删除单元格的重叠或删除干扰按钮框架在分配所有单元格内容视图之前添加此 for 循环。

for(UIView *view in cell.contentView.subviews)

[view removeFromSuperview];

那么你可以在这里添加 uibuttons uilabels 等...

【讨论】:

以上是关于用于 ipad 的 UITableViewCell 中的 UIButtons的主要内容,如果未能解决你的问题,请参考以下文章

iPad上的UITableViewCell宽度不正确

自定义 UITableViewCell 元素仅出现在 iPad 上

iPad 上的 UITableViewCell contenView 宽度问题

自定义 UITableViewCell 在 iPad 上的宽度错误

右侧细节 UITableViewCell 未在 iPad 上显示整行

在 iPad 上旋转 UITableView 后,UITableViewCell 附件未正确定位