Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 滚动选择UITextField上的UIScrollView,可以';我买不到合适的尺码_Ios_Swift_Uiscrollview - Fatal编程技术网

Ios 滚动选择UITextField上的UIScrollView,可以';我买不到合适的尺码

Ios 滚动选择UITextField上的UIScrollView,可以';我买不到合适的尺码,ios,swift,uiscrollview,Ios,Swift,Uiscrollview,我得到的是一个UIScrollView,里面有一个containerview。这有一个嵌入式UITableViewcontroller,其中包含静态单元格。在静态单元格中选择UITextField时,我希望滚动UIScrollView。我试了两种方法,1。计算位置,2。计算单元索引。在选择任意UIField时,这两种方法都会得到相同的值。有人能帮我把这个修好吗 我用了这个问题: 这是一个愚蠢的错误,我选择了一个默认字段作为activefield 我替换了: var-activeField=se

我得到的是一个UIScrollView,里面有一个containerview。这有一个嵌入式UITableViewcontroller,其中包含静态单元格。在静态单元格中选择UITextField时,我希望滚动UIScrollView。我试了两种方法,1。计算位置,2。计算单元索引。在选择任意UIField时,这两种方法都会得到相同的值。有人能帮我把这个修好吗

我用了这个问题:


这是一个愚蠢的错误,我选择了一个默认字段作为activefield

我替换了:
var-activeField=self.container?.groupField.superview?.superview

致:
var-activeField=self.container?.activeField.superview?.superview

建议:使用
    func keyboardWasShown(notification : NSNotification){

        var info = notification.userInfo

//        var kbSize = info(UIKeyboa
        if let userInfo = notification.userInfo {
            if let kbSize = (userInfo[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.CGRectValue() {
                let contentInsets = UIEdgeInsets(top: 0, left: 0, bottom: kbSize.height, right: 0)

                scrollView.contentInset = contentInsets;
                scrollView.scrollIndicatorInsets = contentInsets;


                //first approach
                println("---- approach 1 ------")
                var activeField = self.container?.groupField.superview?.superview
                println(activeField!.frame.origin)
                //prints (110.0, 5.0)



                //second approach
                println("---- approach 2 ------")
                var cell =  self.container?.groupField.superview?.superview as! UITableViewCell
                var table =  self.container?.view as! UITableView
                var index = table.indexPathForCell(cell)
                println("index: \(index?.row)") 
                //prints always 4



                var aRect = self.view.frame
                aRect.size.height -= kbSize.height
//                println("aRect: \(aRect)")
                if (!CGRectContainsPoint(aRect, activeField!.frame.origin) ) {
                    println("ActiveField: \(activeField!.frame.origin.y)")
                    var scrollPoint = CGPointMake(0.0, activeField!.frame.origin.y-kbSize.height)
                    scrollView.setContentOffset(scrollPoint, animated:true)
                }
            }
        }
    }