gpt4 book ai didi

ios - 在 iOS 6 中更改方向后 UITableViewCell contentView 按钮消失

转载 作者:行者123 更新时间:2023-12-01 16:44:07 25 4
gpt4 key购买 nike

 if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
//Landscape mode.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //Frame for iPad
{
[deleteButton setFrame:CGRectMake(984, 7, 30, 30)];
[editButton setFrame:CGRectMake(944, 7, 30, 30)];
}
else
{
if ([[UIScreen mainScreen] bounds].size.height==568)
{
[deleteButton setFrame:CGRectMake(530, 10, 30, 30)]; //Frame for iPhone
[editButton setFrame:CGRectMake(490, 10, 30, 30)];
}
else
{
[deleteButton setFrame:CGRectMake(440, 10, 30, 30)]; //Frame for iPhone
[editButton setFrame:CGRectMake(400, 10, 30, 30)];
}
}
}
else
{
//Portrait mode.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) //Frame for iPad
{
[deleteButton setFrame:CGRectMake(730, 7, 30, 30)];
[editButton setFrame:CGRectMake(690, 7, 30, 30)];
}
else
{
[deleteButton setFrame:CGRectMake(280, 7, 30, 30)]; //Frame for iPhone
[editButton setFrame:CGRectMake(240, 7, 30, 30)];
}
}

[cell.contentView addSubview:editButton]; //Added button subview to cell.
[cell.contentView addSubview:deleteButton];

cell.selectionStyle = UITableViewCellSelectionStyleNone;

return cell; //This code is being executed perfectly in iOS 6 also.

我正在开发一个通用应用程序。但是当我运行应用程序时,在 iOS 7 中它运行得非常好,而在 iOS 6 中,自定义编辑和删除按钮在屏幕加载时首次出现。但是当我改变方向时,它会从屏幕上消失。我在更改方向时重新加载表格 View ,但它仍然消失了。谁能帮助我。在项目的最后一点被击中。

最佳答案

假设此代码在 tableView:cellForRowAtIndexPath: ,您正在添加 deleteButtoneditButton作为单元格的 subview ,任何时候表格都必须创建一个新单元格(例如,在滚动、方向更改或调用 -reloadData 期间)。因为单元格被重复使用,您很可能会遇到这样的情况:在 [cell.contentView addSubview:editButton] 时,按钮会从 subview 中移除。在另一个单元格上调用。因此按钮的frame可能是正确的,但只是在表格的另一个单元格中。

如果您发布完整的 tableView:cellForRowAtIndexPath:以及创建按钮的位置然后我可以帮助您修复它。

关于ios - 在 iOS 6 中更改方向后 UITableViewCell contentView 按钮消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21597607/

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