小编Sal*_*maz的帖子

导航栏titleView对齐

我希望我的导航栏在中间显示两个东西.其中一个是List名称,另一个是用户名.用户名将放在列表名称下.我做了什么至今,我创建了两个标签,一个上海华编程和设置titleViewnavigationItem.

override func viewDidLoad() {
        super.viewDidLoad()
        var rectForView = CGRect(x: 0, y: 0, width: 190, height: 176)
        var viewForTitle = UIView(frame: rectForView)

        var rectForNameLabel = CGRect(x: 0, y: 63, width: 190, height: 30)
        var listNameLabel = UILabel(frame: rectForNameLabel)
        listNameLabel.text = "Name of the List...."
        listNameLabel.textAlignment = NSTextAlignment.Center
        listNameLabel.font = UIFont(name: "HelveticaNeue-Bold", size: 15)

        var rectForListLabel = CGRect(x: 0, y: 93, width: 190, height: 20)
        var usersOfListLabel = UILabel(frame: rectForListLabel)
        usersOfListLabel.text = "some Users...."
        usersOfListLabel.textAlignment = NSTextAlignment.Center …
Run Code Online (Sandbox Code Playgroud)

iphone alignment uinavigationitem ios swift

6
推荐指数
2
解决办法
6780
查看次数

tableView中的事件处理

我正在尝试做的是处理触摸事件,以便当我触摸屏幕时,我想采取一些行动.例如改变背景颜色我试过的事情://我是子视图表视图控制器

override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
     tableView.backgroundColor = UIColor.orangeColor()
}
Run Code Online (Sandbox Code Playgroud)

这不起作用,我怀疑tvc可能不是第一响应者,因此表视图处理触摸事件.所以我试过:

 override func viewDidLoad() {
     super.viewDidLoad()
     tableView.resignFirstResponder()    
}
Run Code Online (Sandbox Code Playgroud)

还尝试过:

override func becomeFirstResponder() -> Bool {
    return true
}

override func canBecomeFirstResponder() -> Bool {
    return true
}
Run Code Online (Sandbox Code Playgroud)

他们都没有工作.我该如何处理事件?我错过了什么?

编辑

根据本机swift代码选择的答案:

override func viewDidLoad() {
        super.viewDidLoad()

        var tapGestureRecognizer = UITapGestureRecognizer(target: self, action: "tap:")
        tapGestureRecognizer.cancelsTouchesInView = true
        self.tableView.addGestureRecognizer(tapGestureRecognizer)




    }

    func tap(recognizer: UITapGestureRecognizer) {
        if recognizer.state == UIGestureRecognizerState.Ended {
            var tapLocation  = recognizer.locationInView(self.tableView)
            var tapIndexPath : NSIndexPath? = self.tableView.indexPathForRowAtPoint(tapLocation)

            if …
Run Code Online (Sandbox Code Playgroud)

uitableview ios uievent swift

2
推荐指数
1
解决办法
214
查看次数

标签 统计

ios ×2

swift ×2

alignment ×1

iphone ×1

uievent ×1

uinavigationitem ×1

uitableview ×1