有沒有一種方法可以計算/檢測PopOverController是否位於View頂部?如果是這樣,讓它顯示allowedArrowDirections:UIPopoverArrowDirectionDown vs allowedArrowDirections:UIPopoverArrowDirectionUp取決於如果你在視圖的底部或頂部,或者如果有足夠的空間來顯示popOverControl沒有調整大小?替代方法我正在考慮滾動視圖向下或向上如果沒有足夠的空間,但我想利用allowedArrowDirections:UIPopoverArrowDirectionDown和allowedArrowDirections:UIPopoverArrowDirectionUp。有什麼建議麼?PopOverController在視圖頂部調整大小
回答
您不應該計算popover控制器放置視圖的位置。 popover控制器旨在讓您指定箭頭指向的位置,以及將彈出窗口添加到的視圖。然後popover控制器會計算它有空間顯示其彈窗視圖的位置。
但是,如果您可以通過指定一個或多個UIPopoverArrowDirection
來限制popover控制器放置彈出視圖的位置。例如,假設您有一個較大的視圖(視圖A),並且視圖A左側有一個較小的子視圖(視圖B)。如果要顯示位於視圖B右側的按鈕視圖的彈出窗口,當你出現了,你可以告訴酥料餅的控制器僅能顯示中顯示其酥料餅的視圖按鈕的邊框的右側,像這樣:
[popoverController presentPopoverFromRect: buttonView.frame
inView: viewA
permittedArrowDirections: UIPopoverArrowDirectionLeft
animated: YES];
編輯
燦您將在包含表視圖的視圖的座標空間中獲取文本字段的框架?
CGRect frame = [tableView.superview convertRect: textField.frame fromView: textField.superview];
[popoverController presentPopoverFromRect: frame
inView: tableView.superview
permittedArrowDirections: UIPopoverArrowDirectionLeft
animated: YES];
假設tableView的超級視圖足夠大以滿足您的需求,這應該適應彈出窗口的顯示。
在當前的項目我工作我有PopOver在UITableviewCell裏面的UITextField頂部顯示。如果Im在UItableviewCell的頂部,則UIPopOverControl調整爲較小的大小,從而防止項目可見。我必須在位於頂部或在UITextField – wilforeal 2013-04-11 16:40:44
@wilforeal我已根據您最後的評論編輯我的答案。 – 2013-04-11 20:47:14
拿到後,你得到的X和Y點,你可以計算出可用空間打開您的PopOverController在你的觸摸從
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
CGPoint touchPoint = [touch locationInView:myView];
NSLog("%lf %lf", touchPoint.x, touchPoint.y);
}
協調。
請讓我知道如果您需要進一步的幫助
- 1. 調整窗口視圖的大小應調整大小
- 2. 在iPhone 5調整表視圖大小
- 3. 調整頂部橫幅圖像大小的最佳方式(視口/ html)
- 4. 調整子視圖的大小並調整大小/窗口大小
- 5. 如何根據圖像大小調整圖像視圖大小?
- 6. ExtJS 4 - 調整大小後調整大小後調整大小的內部組件不會調整大小resizeHandles
- 7. tableview不會在父視圖調整後調整大小
- 8. 自動調整大小和粘(頂部和底部)div jQuery
- 9. Jquery UI Draggable:div不在頂部和左側調整大小
- 10. 視差圖像大小調整問題
- 11. 點擊按鈕,調整視圖大小
- 12. TableView調整父視圖的大小iOS
- 13. 嵌入視圖並調整其大小
- 14. 調整大小後排列視圖
- 15. Cocoa-Touch:動態調整視圖大小
- 16. Android調整大小視圖不平滑
- 17. 使用scrollViewDidScroll調整視圖的大小
- 18. Android視頻和圖像調整大小
- 19. UIView子視圖不調整大小
- 20. 調整基本視圖大小ios
- 21. 調整大小模態的視圖
- 22. 從cvShowImage調整視圖的大小
- 23. UIView子視圖自動調整大小
- 24. uitabbarController視圖不調整大小
- 25. Cocoa Autolayout和子視圖調整大小
- 26. 動態列表視圖調整大小
- 27. UISplitViewController - 調整細節視圖的大小
- 28. MPMoviePlayerController視圖不調整大小
- 29. 調整UITabBarController子視圖的大小
- 30. TouchListView調整大小視圖後降(CommonsWare)
你必須檢查你的觸摸點的Y位置。根據 – Hiren 2013-04-11 16:01:52
計算房間並顯示,那麼視圖絕對頂部的座標是什麼?我必須獲得UIWindow的Y座標嗎?或者是最容易的0? – wilforeal 2013-04-11 19:31:56
你可以通過觸摸事件來檢查 – Hiren 2013-04-12 04:45:49