键入时我看不到建议..我有tableview单元格和文本字段.
我正在使用MPGTextField库,swift版本(支持swift 2).
对此有何解决方案?
码:
@IBOutlet weak var articleField: MPGTextField_Swift!
override func viewDidLoad() {
super.viewDidLoad()
articleField.mDelegate = self
}
func dataForPopoverInTextField(textfield: MPGTextField_Swift) -> [Dictionary<String, AnyObject>] {
return articles
}
func textFieldShouldSelect(textField: MPGTextField_Swift) -> Bool{
return true
}
func textFieldDidEndEditing(textField: MPGTextField_Swift, withSelection data: Dictionary<String,AnyObject>){
print(data["CustomObject"])
}
Run Code Online (Sandbox Code Playgroud) 我正在使用自动调整项目中的单元格大小.我希望将单元格保持在最小值height,但是我无法在内容视图中为我的单元格设置最小height 约束(因为它在" 添加新约束"视图中显示为灰色:
无论如何都要为我的细胞添加最小height 约束?
我在tableView中使用自定义单元格,但是当我运行时,我得到了我在问题中提到的错误.
self.districtTableView.register(UINib(nibName: "PlaceCollectionViewCell", bundle: nil), forCellReuseIdentifier: "placeCell")
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return false
}
func textFieldDidEndEditing(_ textField: UITextField) {
// TODO: Your app can do something when textField finishes editing
print("The textField ended editing. Do something based on app requirements.")
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return districts.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = …Run Code Online (Sandbox Code Playgroud) 如果我在一个包含很多行的iPhone应用程序中有一个tableView设置,我该如何只更新其中一行呢?我知道他们在进入视图时手动刷新,但我想推出更新,为了争论计时器倒计时.
谢谢
只要我不尝试启用自动调整大小,我的单元格就会显示正常.当我在viewController中添加两行自动调整大小时,配置文件图片,用户名和日期下的所有内容都会消失(当您点击图片时,该单元格应该像Instagram一样).
如果我注释掉tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 450那么单元格显示的确如此,但它显然没有调整大小.
这是我目前的代码:在我的tableViewController中:
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 450
Run Code Online (Sandbox Code Playgroud)
在我的cellViewController中
@IBOutlet weak var profilePic: UIImageView!
@IBOutlet weak var usernameBtn: UIButton!
@IBOutlet weak var dateLbl: UILabel!
@IBOutlet weak var mainPic: UIImageView!
@IBOutlet weak var likeBtn: UIButton!
@IBOutlet weak var commentBtn: UIButton!
@IBOutlet weak var moreBtn: UIButton!
@IBOutlet weak var likeLbl: UILabel!
@IBOutlet weak var titleLbl: UILabel!
@IBOutlet weak var uuidLbl: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
let width = UIScreen.main.bounds.width
//allow constraints
profilePic.translatesAutoresizingMaskIntoConstraints = …Run Code Online (Sandbox Code Playgroud) uitableview tableviewcell swift uitableviewautomaticdimension
我实际上找不到一个教程,告诉我如何构建一个使用静态单元格的应用程序; 可点击的单元格.根据几个过时的发布和对象c答案,我把一些东西放在一起.我的问题是,当我点击一个单元格时,我得到的staticDemoTableCell是没有成员present.
我在UIViewController中嵌入了一个表控制器.对于那个单元格(目前只有一个),我创建了一个类:
class staticDemoTableCell: UITableViewCell, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
override func awakeFromNib() {
[...]
tableView.delegate = self
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("clicked") // Works when the cell is clicked
// self.present() do not work. I need to present another viewcontroller when this cell is clicked
}
}
Run Code Online (Sandbox Code Playgroud)
有些东西不合适,因为每个单元都是一个类?
我真的需要知道我是否采用了正确的方法来做到这一点.我真正想要的更多是这样的.你见过ie:分组交易星期一:列表,星期二:列表等.每个单元格都可以点击,就像iOS设备的设置一样.任何指针都将非常感激.
在单元测试中,我有一个简单的表视图,其中包含一堆基本单元格(仅带有标签的单元格)。我想使用来访问单元格cellForRow(at:),因此我可以通过编程方式测试选择和取消选择行等内容,但是此cellForRow查询始终返回nil。
网上有一些讨论,我应该改用数据源tableView(_, cellForRowAt:)。这不是我的意图。我只想测试单元的可见性,测试选择和取消选择它们。要测试可见性,cellForRow(at:)是要使用的正确功能。此外,数据源tableView(_, cellForRowAt:)没有超出范围索引访问的保障,而在这种情况下,表视图cellForRow(at:)将正常返回nil,我也想在上面测试我的表视图控制器。
然而,尽管我总可以从得到一个有效的单元格tableViewController.tableView(_:cellForRowAt:),我不明白为什么我总是nil从tableView.cellForRow(at:)。我已经验证了tableView和tableViewController都不nil在我的单元测试中,并且还通过以下方式触发了视图加载:
_ = tableViewController.view
Run Code Online (Sandbox Code Playgroud)
在中setUp()。我也用进行了验证tableView.indexPathsForVisibleRows,结果中确实包含我用于的索引路径cellForRow(at:)。
当我通过LLDB和断点查询单元时,有时我的单元会正确显示。我是否可能会丢失异步等待之类的东西,因为可视化加载单元可能是在其他线程中完成的?我是否应该添加某种期望等待,以便等到单元格完全加载后才能使用进行访问cellForRow(at:),即使tableView.indexPathsForVisibleRows已经返回了预期的索引路径也是如此。我尝试进行设置,但不确定如何覆盖表视图控制器的init()。
这是我在单元测试类中的代码。
import XCTest
@testable import TableViewTest
class TableViewTestTests: XCTestCase {
private var appDelegate: AppDelegate!
private var tableVC: TableViewController!
override func setUp() {
super.setUp()
appDelegate …Run Code Online (Sandbox Code Playgroud) 我创建了一个自定义子类UITableViewCell. 我想将子视图的边缘与readableContentGuide锚点对齐:
let guide = contentView.readableContentGuide
myView.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
Run Code Online (Sandbox Code Playgroud)
这按预期工作,直到我添加一个附件视图,这会导致布局关闭。
accessoryType = .discloseIndicator
Run Code Online (Sandbox Code Playgroud)
在默认单元格上,布局正常工作:
我很想知道这是否是 UIKit 错误,或者我是否应该以其他方式执行此操作?
我想出了一个临时解决方法,将我的子视图附加到默认文本标签,这似乎有效,但我当然不想。
textLabel?.text = " "
myView.leadingAnchor.constraint(equalTo: textLabel!.leadingAnchor).isActive = true
Run Code Online (Sandbox Code Playgroud)
ps:蓝色框显示cell.contentView(通过视图调试器)的框架
我在我的项目中使用了REFrostedViewController侧面菜单.它使用PanGesture与刷卡手势冲突TableViewCell
我也尝试使用其属性禁用其PangGusture
self.frostedViewController.panGestureEnabled=NO;
Run Code Online (Sandbox Code Playgroud)
但仍面临同样的问题.
在哪里 REFrostedViewController 扩展UIViewController课程
我的问题是
反正有没有禁用超类手势?
tableviewcell ×10
ios ×6
swift ×6
uitableview ×6
autolayout ×2
swift3 ×2
iphone ×1
objective-c ×1
tableview ×1
uitableviewautomaticdimension ×1
unit-testing ×1
xctest ×1