2015-05-02 18 views
1

我想在視圖加載之前頂部自動滾動我TextView的,所以,你不能看到它實際上向上移動......迅速的UITextView setContentOffset適用於didappear而不是willappear

我」 m試圖與

var zeroOffset = CGPoint.zeroPoint 
    textSpace.setContentOffset(zeroOffset, animated: false) 

其中textSpace是我的UITextView。

當我把這個代碼放在viewDidAppear裏面的時候它可以工作,但是問題在於,顯然你可以看到第二個文本滾動,當它放在viewWillAppear裏時它根本不起作用(viewDidLoad既不可以的幫助)。 我猜想在計算實際點前需要視圖的CGPoint有點關係,但我不確定,有沒有解決方案?謝謝

+0

把它放在'viewDidLayoutSubviews'中怎麼樣? – vacawama

+0

它的工作原理!非常感謝 – m4tt

回答

4

在viewController生命週期中,在viewWillAppearviewDidAppear之間,有一個呼叫viewDidLayoutSubviews。這是在子視圖佈置後調用的。在這一點上,您將擁有呼叫工作所需的一切,但仍然會在視圖出現之前。因此,請覆蓋viewWillLayoutSubviews並將您的電話打到那裏。

+0

真棒。謝謝,這是完美的設置滾動視圖偏移之前,他們出現:) – datayeah