gpt4 book ai didi

ios - 表格 View 中的自定义单元格不显示内容

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

我是自动布局和 iOS 的新手,因此我想创建 Facebook 新闻源页面以便掌握自动布局。我正在使用带有自定义单元格的表格 View 。到目前为止所做的事情是:

在 Storyboard中删除了一个 TableView 。

在各自的 Controller 类中创建了它的 socket 。

为自定义单元创建 Controller 类。

在两个单元格中删除必要的 View ,并在必要的 Controller 类中创建导出。

在每个自定义单元格中设置适当的和标识符。

现在我面临的问题是两个单元格都在界面生成器中正确显示,但在设备或模拟器中只有第一个单元格显示。图片在这里是因为我的声誉。 interface builder

simulator

我搜索了很多但没有找到任何合适的答案。我哪里错了?我错过了什么吗?显然没有自动布局问题。

例如,我也粘贴了我的 Controller 类的代码。

class HomeScreen: UIViewController, UITableViewDelegate, UITableViewDataSource {

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if (indexPath.row == 0){
return 100
} else {
return 200
}
}

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

@available(iOS 2.0, *)
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}

@available(iOS 2.0, *)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
guard let cell : StatusUpdateCustomTableViewCell = tableView.dequeueReusableCell(withIdentifier: "StatusUpdateCell" , for: indexPath) as? StatusUpdateCustomTableViewCell else {
fatalError("The dequeued cell is not an instance of MealTableViewCell.")
}

cell.profilePicImageView.image = #imageLiteral(resourceName: "teenGirl")
return cell
} else if indexPath.row == 1 {
guard let cell : PostCustomTableViewCell = tableView.dequeueReusableCell(withIdentifier: "PostCell1" , for: indexPath) as? PostCustomTableViewCell else {
fatalError("The dequeued cell is not an instance of MealTableViewCell.")
}
cell.profilePicImageView.image = #imageLiteral(resourceName: "teenBoy")
return cell
} else {
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "thirdCustomCell")
//set the data here
return cell
}
}

@IBOutlet weak var headerViewHeight: NSLayoutConstraint!

@IBOutlet weak var imageView1: UIImageView!
@IBOutlet weak var imageView2: UIImageView!
@IBOutlet weak var imageView3: UIImageView!
@IBOutlet weak var imageView4: UIImageView!

@IBOutlet weak var imageView1Height: NSLayoutConstraint!
@IBOutlet weak var imageView2Height: NSLayoutConstraint!
@IBOutlet weak var imageView3Height: NSLayoutConstraint!
@IBOutlet weak var imageView4Height: NSLayoutConstraint!
@IBOutlet weak var tableViewPosts: UITableView!

var windowWidth = 0.0;
var windowHeight = 0.0;

override func viewDidLoad() {
super.viewDidLoad()

tableViewPosts.delegate = self
tableViewPosts.dataSource = self

// calling rotated function when device orientation changes.
NotificationCenter.default.addObserver(self, selector: Selector("rotated"), name: NSNotification.Name.UIDeviceOrientationDidChange, object: nil)
}

override func viewDidLayoutSubviews() {
//print(self.view.frame.size)
windowWidth = Double(self.view.frame.width);
windowHeight = Double(self.view.frame.height);
}

func rotated(){
if(UIDeviceOrientationIsLandscape(UIDevice.current.orientation)){
// hiding imageview and underlining textfields
print("landscape")
headerViewHeight.constant = CGFloat(windowHeight * 0.07)
imageView1Height.constant = CGFloat(windowHeight * 0.07)
imageView2Height.constant = CGFloat(windowHeight * 0.07)
imageView3Height.constant = CGFloat(windowHeight * 0.07)
imageView4Height.constant = CGFloat(windowHeight * 0.07)
}

if(UIDeviceOrientationIsPortrait(UIDevice.current.orientation)){
headerViewHeight.constant = CGFloat(windowHeight * 0.001)
imageView1Height.constant = CGFloat(windowHeight * 0.001)
imageView2Height.constant = CGFloat(windowHeight * 0.001)
imageView3Height.constant = CGFloat(windowHeight * 0.001)
imageView4Height.constant = CGFloat(windowHeight * 0.001)
}
}
}

最佳答案

我可以从您的代码中看到您已经实现了 numberOfRowsInSection 两次,并且在一个实例中您返回 10 而在另一个实例中您只返回 1。

关于ios - 表格 View 中的自定义单元格不显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215813/

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