2011-06-15 59 views
0

是否有可能將兩個TextViews在一個滾動型,所以只有滾動型卷軸和兩個嵌入式TextViews不能獨立滾動? (但是,如果滾動型滾動TextViews應滾動要麼,使文本的其餘部分被顯示。)iOS SDK:一個ScrollView中有兩個TextViews?

THX。問候,丹尼爾

編輯:

當前代碼http://www.muehlbachler.org/spt.zip

我需要什麼,什麼應用呢至今宣言: 一個部分(只需要一個)是一個簡單的端口檢查,檢查一端口範圍,如果它們是開放的或被主機拒絕的話。爲此,在稱爲「開放端口」和「關閉端口」的表格下面有兩個主要部分。在每個主要部分下面有兩個顯示端口的文本視圖(它們是打開的還是關閉的)。我做了兩個文本瀏覽,因爲如果你想查看所有打開/關閉的端口,這是一個更好的體驗,因爲那樣你就不會經常滾動。現在 的問題是,每個TextView中可以獨立滾動,但是這是升技討厭的,因爲我只是想滾動打開/關閉的端口textviews在一起。實際上,兩個文本瀏覽必須組合在一起,以便它們只能滾動到一起。 一個例子:假設你有100個關閉的端口,現在他們都顯示分爲兩個textviews(50:50)。現在您想快速瀏覽所有關閉的端口號,並且(現在)您必須滾動兩次,因爲您必須分別滾動textview1和textview2。現在希望的行爲出現了:您只想滾動一次,如果您滾動該時間,則希望查看所有關閉的端口(因爲兩個單獨的文本視圖都滾動了)。 我的想法是,我只是把滾動視圖的textviews前,然後我可以一起滾動他們,但還是不行... :(

編輯:

圖片加入我不能因immages添加到我的聲譽,所以我上傳:http://www.muehlbachler.org/spt.jpg

+0

意味着當你滾動... textViews不應該獨立滾動...我是否正確? – 2011-06-15 12:18:59

+0

jep,這是正確的。 – 2011-06-15 12:31:49

+0

好吧...現在告訴我你用xib做這個? – 2011-06-15 12:35:12

回答

0

爲什麼需要兩個TextView的內部滾動視圖那麼爲什麼只有不使用的TextView已經滾動型內嵌看到文本的其餘部分只是滾動的TextView

+0

jep,但現在我有兩個文本視圖,其中端口號得到顯示我需要兩個textvews,因爲我想分割端口,這樣我就不必滾動這麼多,現在的問題是我可以獨立滾動每個文本視圖,但我需要這兩種文本瀏覽應該一起滾動(但不是獨立的)的行爲。實際上,我認爲滾動視圖應該是實現此目的的最佳方式嗎? – 2011-06-15 12:34:40

+0

@Daniel M.如何使用兩部分的UITableview? – 2011-06-15 12:41:28

+0

好吧,但從來沒有與嵌入式桌面視圖工作...想象下面的(iPad應用程序): 在主機名,端口範圍和按鈕的頂部textfields進行端口檢查。在此之下有兩個稱爲「開放端口」和「關閉端口」的「主要部分」。在該標題下面是兩個用於顯示端口的文本視圖(每個主要部分兩個文本視圖)。事實上,我有四個文本視圖,兩個文本視圖應該連接在一起以獲得更好的體驗。另外,textviews經常更新(異步端口檢查)。 – 2011-06-15 12:46:12

1

我。在試圖保持兩個文本視圖滾動位置同步時會略微不同chronized。我會使整體視圖的UIViewController a UIScrollViewDelegate。我想實現一個scrollViewDidScroll:方法會問它滾動到剛剛滾動文本視圖,然後告訴其他文本視圖滾動到相同的位置。爲了防止這種方法不斷重複的循環,我會在發送滾動消息之前設置一個標誌來檢查。如果兩個文本視圖保證大小相同,這很容易,但如果大小不同,則可能需要更多工作。也許滾動位置將以百分比計算。也許滾動視圖需要了解內容,並滾動到特定的標題。

UIScrollViewDelegate的其他方法可以實施,以保持用戶滾動時同步,這取決於我怎麼想的滾動文本的意見行事。

在迴應評論:

這聽起來像百分比計算將工作最好在這種情況下。每個滾動視圖都有contentSizecontentOffset屬性。其他視圖的偏移量可以用(thisView.contentOffset.x/thisView.contentSize.height) * otherView.contentSize.height來計算。

我在想這個標誌可能是必要的,如果調用setContentOffset:animated:在另一個滾動將觸發另一個調用代理的方法scrollViewDidScroll:。檢查標誌可以停止循環。如果標誌已設置,請不要讓其他滾動視圖移動,因爲這是一種反動的scrollViewDidScroll

scrollViewDidScroll:每次需要重畫滾動視圖時都會調用。所以在一次用戶交互中,這種方法可能被稱爲數百次。僅此一項就能夠保持兩個滾動視圖同步。

+0

好的,我剛剛在上面的問題中添加了對問題的簡短描述。所以實際上內容並不相同,因爲可能一個視圖中有20行,另一個視圖中有22行。 你是什麼意思設置一個標誌? – 2011-06-15 13:27:01

+0

不會在第一個texview完成滾動時滾動第二個textview嗎?那麼上面提到的問題是因爲第二個的滾動不像第一個滾動那麼慢。 – 2011-06-15 13:31:57

+0

哇,現在他們幾乎是同步的......但其他自動獲取滾動的textview有一些滯後,我如何管理百分比計算,因爲第二個textview是更長的2行(每次!)? – 2011-06-15 15:36:47