作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试移动一个自动完成的表格 View ,以便它的顶部将触及用户当前正在输入的字段的底部边框。为此,我进行了一些计算,然后在相应字段上执行触地移动。
这里有 3 个导出变量、2 个字段和一个 TableView :
@IBOutlet var tableRefresh:UITableView!
@IBOutlet weak var countriesFieldVar: UITextField!
@IBOutlet weak var countriesFieldVar2: UITextField!
这里是变量....
var field1YBottomCoordinate = 0
var tableXCenter = 0
var tableYCenter = 0
var field2YBottomCoordinate = 0
var differenceBetweenY = 0
....我在 viewdidload 中设置的:
field1YBottomCoordinate = Int(CGRectGetMinY(countriesFieldVar.frame))
tableXCenter = Int(CGRectGetMidX(tableRefresh.frame))
tableYCenter = Int(CGRectGetMidY(tableRefresh.frame))
field2YBottomCoordinate = Int(CGRectGetMinY(countriesFieldVar2.frame))
differenceBetweenY = Int(field2YBottomCoordinate - field1YBottomCoordinate) + 1
然后,在触及 countriesFieldVar2 时,我执行此操作以将 tableRefresh 移动到所需位置:
@IBAction func coutriesField2SetSelect(sender: AnyObject) {
tableRefresh.center = CGPoint(x:tableXCenter, y: (tableYCenter + differenceBetweenY))
}
问题是第一次接触 countriesFieldVar2 字段时,没有任何反应。或者更准确地说,当键盘向上移动时,我短暂地看到 table 闪烁到所需的位置,然后 table 又回到原来的位置。只有在我第二次触地时,我才得到想要的 Action 。这是为什么 ? (请使用swift)
最佳答案
这里有一些代码可以使用计时器和 bool 值强制重试
aTimer = [NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(tryAgain) userInfo:nil repeats:YES];
-(void)tryAgain{
if (!checkBool){
[self buttonPressed:];
}
}
-(IBAction) buttonPressed:(id) sender{
//First fill in code here
checkBool = YES;
[aTimer invalidate];
}
关于ios - Touch Down 不执行它应该执行的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26594319/
我是一名优秀的程序员,十分优秀!