- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新答案
我可以使用单元格的 textlabel 属性,我可以为我的自定义标签设置属性并打印值(切换后打印),但我无法显示任何自定义内容,不是背景颜色,不是值(value),而不是任何东西。
请注意,我根本不为此使用 Storyboard,并且这两个类在同一个文件中(尝试使用两个单独的文件,没有改变任何东西,所以它与我的问题无关)。
如果有人知道这里的问题是什么并能指出正确的方向,那就太好了。
class DayPickerTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
self.tableView.registerClass(DayPickerTableViewCell.self, forCellReuseIdentifier: "cell")
self.tableView.scrollEnabled = false
self.tableView.bounces = false
self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 44
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 8
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! DayPickerTableViewCell
cell.textLabel!.text = "test"
switch indexPath.row {
case 0:
cell.dayModeLabel.text = "DAY"
break
case 1:
cell.dayModeLabel.text = "WEEK"
break
case 2:
cell.dayModeLabel.text = "WORK WEEK"
break
case 3:
cell.dayModeLabel.text = "WEEK-END"
break
case 4:
cell.dayModeLabel.text = "MONTH"
break
case 5:
cell.dayModeLabel.text = "YEAR"
break
case 6:
cell.dayModeLabel.text = "ALL HISTORY"
break
case 7:
cell.dayModeLabel.text = "CUSTOM"
break
default: break
}
print(cell.dayModeLabel.text)
return cell
}
}
class DayPickerTableViewCell: UITableViewCell {
var imgDayPicker = UIImageView()
var dayModeLabel = UILabel()
var dayDisplayLabel = UILabel()
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
imgDayPicker.translatesAutoresizingMaskIntoConstraints = false
dayModeLabel.translatesAutoresizingMaskIntoConstraints = false
dayDisplayLabel.translatesAutoresizingMaskIntoConstraints = false
imgDayPicker.backgroundColor = UIColor.redColor()
dayModeLabel.backgroundColor = UIColor.blackColor()
dayDisplayLabel.backgroundColor = UIColor.greenColor()
self.contentView.addSubview(imgDayPicker)
self.contentView.addSubview(dayModeLabel)
self.contentView.addSubview(dayDisplayLabel)
let viewsDict = [
"image" : imgDayPicker,
"mode" : dayModeLabel,
"day" : dayDisplayLabel,
]
contentView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[image(50)][mode(==day)]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: viewsDict))
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
为了让代码工作,用这个替换 awake from nib 方法:
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
imgDayPicker.translatesAutoresizingMaskIntoConstraints = false
dayModeLabel.translatesAutoresizingMaskIntoConstraints = false
dayDisplayLabel.translatesAutoresizingMaskIntoConstraints = false
imgDayPicker.backgroundColor = UIColor.redColor()
dayModeLabel.backgroundColor = UIColor.blackColor()
dayDisplayLabel.backgroundColor = UIColor.greenColor()
self.contentView.addSubview(imgDayPicker)
self.contentView.addSubview(dayModeLabel)
self.contentView.addSubview(dayDisplayLabel)
let viewsDict = [
"image" : imgDayPicker,
"mode" : dayModeLabel,
"day" : dayDisplayLabel,
]
contentView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:|[image(50)][mode(==day)]|", options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: viewsDict))
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
最佳答案
Storyboard/xib 加载器发送 awakeFromNib
。由于您没有使用 Storyboard 或 xib,因此不会向单元格发送 awakeFromNib
,因此代码永远不会运行。
您可以只调用 cell.awakeFromNib()
,尽管这会产生误导。我会将代码移动到 init
中。
您还需要对 subview 进行更多约束。
关于ios - 没有 Storyboard的自定义 UITableViewCell 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33921220/
我在 iOS 项目中创建了一个新目标并添加了一些我的文件以及一个新的 Storyboard文件。但是当在模拟器中运行时(我还没有尝试过该设备)它会吐在 UIApplicationMain(argc,
The document "Storyboard.storyboard" could not be opened. Could not read archive. Please use a newer
我的 .travis.yml 文件: language: objective-c script: xctool -project ProjectName. xcodeproj -scheme
我正在使用 Storyboard,因为我有一个定制的表格。我需要在单元格内的标签上显示值。我尝试为它创建一个 IBOutlet,但它似乎不接受它,它给了我一个错误消息,“连接“xyz”不能将原型(pr
Xcode 6 界面生成器默认有新的复选框“使用大小类别”。它使 View 具有适应性。 当我尝试在 Storyboard中的两个 View 之间进行连接时,我有新的选择: 代替旧的: 现在我们有“s
我在新的 xcode beta 版本中打开我的项目时犯了一个错误 现在我无法用稳定版本打开它,因为 The document “Main.storyboard” requires at least X
如果我有一个已经使用 Storyboard 的 Xcode 项目,现在我想切换到以编程方式加载 View Controller ,我该怎么做? 最佳答案 这是一个in-depth article关于这
[错误]:**构建失败** [错误]:以下构建命令失败: [错误]:编译Storyboard LaunchScreen.storyboard [错误]:(1 次失败) 如何解决这个问题?它不会在 io
我试图找到一种方法来处理多个目标(从一个项目部署多个应用程序),我不知道如何定义UIColor并在 Storyboard 中使用它(我可以为UIImage做得很好)。我的想法是使用宏根据目标切换此颜色
我有一个在 Xcode 5.1 中构建的带有 2 个 Storyboard的项目。 当我在 Xcode 6 中打开其中任何一个时,我收到此错误。他们从未在任何测试版中打开过,所以我认为这不是 Xcod
我想将 StoryBoard 添加到以编程方式制作的项目中,是否可以这样做。 最佳答案 是的,您可以向 Xcode 项目添加新的 Storyboard。我正在分享以下屏幕截图,请检查: 您可以为该 S
我将几个配置文件分成多个 Storyboard以尝试帮助我减少卡住时间,因为我听说许多 Storyboard可能是 Xcode 有时会“卡住”长达 10 分钟的原因,有时会导致我的流程崩溃工作的。所以
我是 iOS 开发新手,我知道这是一个非常简单的问题,但我真的无法理解原因。 当我构建 SingleViewApplication 时,Xcode 自动生成 LaunchScreen.storyboa
为什么 Storyboard.SetTargetName 有效而 Storyboard.SetTarget 无效?这里 xaml -
我使用的是 Xcode 7.1,我正在使用 Storyboard 引用转到不同的 Storyboard 。问题是每次我运行模拟器时,都会出现一个错误,提示 “没有找到从 Main.storyboard
因此,我开始在XCode 4.3.2中使用 Storyboard 。我从Master-Detail应用程序(iPad的拆分 View 应用程序)开始。在详细信息 View (名为DetailVC)中,
我想在我的应用程序中加载辅助 StoryboardTest.storyboard(在Main.storyboard旁边),如下所示: let storyboard = UIStoryboard(nam
我有情节提要,其中假设Controller1有按钮 当我们按下按钮时,它应该移至下一个控制器,但是我无法访问它。能告诉我如何访问第二个Storybaord,其中一个名为Profile的TabbarCo
这是我在尝试启动主 Storyboard时看到的内容,并且 launchscreen.storyboard 也遇到同样的问题。 当我尝试访问 main.storyboard 时,我看到的是 XML 代
我在 main.storyboard 的 View Controller 中有一个 label1我在 Storyboard的 View Controller 中有另一个名为 Second.storyb
我是一名优秀的程序员,十分优秀!