2017-10-11 37 views
0

UICollectionViewにサブビューとしてUIRefreshControlをプログラムで追加しました。UIRefreshControlの位置を変更する方法

lazy var refreshControl: UIRefreshControl = { 
    let refreshControl = UIRefreshControl() 
    refreshControl.addTarget(self, action: #selector(MyPhotospotsViewController.handleRefresh(_:)), for: UIControlEvents.valueChanged) 
    refreshControl.tintColor = UIColor.lightGray 

    return refreshControl 
}() 

override func viewDidLoad() { 
    super.viewDidLoad() 

    collectionView.addSubview(refreshControl) 
} 

私は少し下に移動したいと思いますが、これまでのところ何もしていません。私は次のことを試みた。

refreshControl.frame = CGRect(x: refreshControl.frame.origin.x, 
           y: refreshControl.frame.origin.y - 50, 
           width: refreshControl.frame.size.width, 
           height: refreshControl.frame.size.height) 

私はまた、Googleの表情を持っていたが、すべての答えは、客観C.

に私はプログラム的に制約を加えることを考えていたされているが、それは間違って感じています。

+0

ここで、あなたのコードでこのフレームを設定していますか? – 3stud1ant3

+0

ViewDidLoad()にあります。私は上記のViewDidLoad関数を簡略化しました –

+0

このコードを試してください: 'refreshControl.frame = refreshControl.frame.offsetBy(dx:0、dy:-50)' – 3stud1ant3

答えて

0

自動レイアウト制約を使用するか、-viewDidLayoutSubviewsでフレームを更新する必要があります。

関連する問題