ios - 更改不同iOS版本的UITableViewStyle

标签 ios objective-c uitableview

我必须为ios7/6设计tableview - 在ios6中我需要实现一个tableview分组样式,在ios7中我需要一个简单的一个。因此,在 Storyboard中,我将样式更改为普通样式,并在 UITableViewController 子类的 viewDidLoad 中,我有这样的内容:

if (!IS_OS_7_OR_LATER) {
    self = [[UITableViewController alloc] initWithStyle:UITableViewStyleGrouped];
}

但是这不起作用。我尝试使用 initWithCoder 方法但无法得到好的结果。有帮助吗?

最佳答案

- (id)initWithFrame:(CGRect)frame style:(UITableViewStyle)
{
    bool isLowerOrEqualToSix = (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1);

    if (isLowerOrEqualToSix) { // iOS 6 or lower
        [super initWithFrame:frame style:UITableViewStyleGrouped];
    } else { // iOS 7 or higher
        [super initWithFrame:frame style:UITableViewStylePlain];
    }
}

这就是您所需要的。

关于ios - 更改不同iOS版本的UITableViewStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19922059/

相关文章:

ios - 在 UITableView 自定义单元格中隐藏 UIImageview

iphone - iOS Persist View 层值?

ios - 从 TableView 单元格内的文本字段获取文本

c# - Unity 中基于 Google Games Services 回合制多人游戏的自定义 UI

ios - 如何将 UiSearchBar 的背景颜色更改为黑色 -SWIFT

ios - 如何从工具栏xcode ios中的barbutton中的UICollectionField中获取(索引)文本字段

ios - 将现有数组绑定(bind)到 tableView IOS

ios - 重新加载表格后,UILabel的背景颜色变得清晰

ios - 如何为案例 : Message sent to deallocated instance 设置委托(delegate)

javascript - 位置为 :sticky element in iOS 的可滚动 iFrame