gpt4 book ai didi

ios - 在 Xcode_6 beta 5 中只有部分 tableview 单元格内容可见

转载 作者:行者123 更新时间:2023-11-28 07:16:58 25 4
gpt4 key购买 nike

我正在使用 Xcode 6,Beta 5。Swift 语言。

我的代码有带 TableView 和自定义 TableView 单元格的 View Controller 。tableCell 中有 3 个标签和一个 imageview。

问题是:只出现了一半的单元格。它看起来像这样:

http://i.stack.imgur.com/JO4A4.png

http://i.stack.imgur.com/Ku5Og.png

这是我发现的一些有趣的东西。在 XCode 5 之前, Storyboard中的 TableView 和 View Controller 的默认大小为 320x568。

现在使用 Xcode 6、Beta 5, Storyboard中的 TableView 和 View Controller 似乎默认大小为 600x600

这会不会影响我的布局?

我的代码如下图:

//OrderHistoryDetailViewController

class OrderHistoryDetailViewController: ViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet weak var orderPlacedLabel: UILabel!
@IBOutlet weak var orderItemsTableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()
}

//MARK: UITableViewDataSource methods

func tableView(tableView: UITableView!, numberOfRowsInSection section: Int) -> Int {
return 2
}

func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! {
var orderDetailCell: OrderHistoryDetailCell = tableView.dequeueReusableCellWithIdentifier("OrderDetailCell") as OrderHistoryDetailCell
orderDetailCell.priceLabel.text = "$34.89"
orderDetailCell.quantityOrderedLabel.text = "QTY:1|$34.89 each"
orderDetailCell.itemOrderedNameLabel.text = "Tooled Leather Laptop Cover"
orderDetailCell.thumbNailImageView.image = UIImage(named: "laptopCover.png")
return orderDetailCell
}
}

//OrderHistoryDetailCell
class OrderHistoryDetailCell: UITableViewCell {

@IBOutlet weak var thumbNailImageView: UIImageView!
@IBOutlet weak var itemOrderedNameLabel: UILabel!
@IBOutlet weak var quantityOrderedLabel: UILabel!
@IBOutlet weak var priceLabel: UILabel!
}

最佳答案

Xcode 6 中新的通用 iOS8 模板带有 Size Classes。您可以在 Interface Builder 中更改此默认设置:转到 File Inspector 并取消选中“Use size classes”。然后,您将能够在一个 Storyboard 中使用 iPhone 大小的 View Controller 场景(例如 320x568),并在另一个 Storyboard 中使用 iPad 大小的 View Controller 场景。但是,除非您有充分的理由,否则我不鼓励您这样做。

Size Classes(与他们最好的 friend Auto layout 一起工作)有很多优势。其中之一是您可以在一个独特的 Storyboard 的相同 View Controller 场景中,定义约束(或字体或 subview ),例如仅在纵向模式(紧凑宽度/常规高度)和其他模式下为 iPhone 设置约束(或字体或 subview )仅在横向模式(常规宽度/任何高度)下为 iPad 设置。

因此,您提到的 600x600 大小的 View Controller 场景并不对应于任何特定设备,但允许您提供适合任何屏幕宽度和屏幕高度的约束。您可以通过 WWDC 2014 video Session 411 "What's new in Interface Builder" 了解更多关于尺寸等级的信息(从 30 分钟开始)。

因此,为了回答您的问题:我认为您应该在项目中保留 Size Classes 并对其使用自动布局。然后,您应该检查您的 tableView 约束和单元格的 contentView subview 约束。

关于ios - 在 Xcode_6 beta 5 中只有部分 tableview 单元格内容可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25352103/

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