久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何使用 Autolayout 在我的 UIScrollview 上設(shè)置約束

How can I use Autolayout to set constraints on my UIScrollview?(如何使用 Autolayout 在我的 UIScrollview 上設(shè)置約束?)
本文介紹了如何使用 Autolayout 在我的 UIScrollview 上設(shè)置約束?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我花了兩天時間嘗試了 ,而不是解釋您的設(shè)置有什么問題具有與您描述的非常相似的視圖層次結(jié)構(gòu)和約束設(shè)置.水平滾動在示例項目中按預(yù)期工作,它使用 Apple 在 技術(shù)說明.

最初讓自動布局與 UIScrollView 一起工作時,我也遇到了很多麻煩.讓它工作的關(guān)鍵是確保滾動視圖中的所有項目加在一起,具有最終鏈接到滾動視圖所有方面的約束,并有助于自動布局系統(tǒng)能夠確定 contentSize 為滾動視圖將大于其框架.看起來您正在嘗試在代碼中執(zhí)行此操作,但可能您有一些多余的約束導(dǎo)致 contentSize 太小.

另外值得注意的是,正如其他人提到的,使用 AutoLayout 和 UIScrollview,您不再顯式設(shè)置 contentSize.AutoLayout System 根據(jù)您的約束計算 contentSize.

我還發(fā)現(xiàn) 此電子書章節(jié) 非常有助于讓我了解所有這行得通.希望這對您有所幫助.

I have spent two days trying out the various solutions for Mixed and Pure Autolayout approaches to achieve what was a trivial scrollview setup prior to autolayout, and it's now official - I must be too stupid. I am setting this up mostly in Storyboard (well, it's just the way it is).

So here's my plea for help.

Viewtree:

UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton

The buttons are supposed to scroll horizontally (left to right and vice versa). Can someone please let me know how to set the constraints to achieve this using pure Autolayout???

--

I have tried the mixed approach, like so:

UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton

...and setting fixed width and height constraints for the contentview and the translatesAutoresizingMaskIntoConstraints settings as per Apple's TechNote. The buttons and scrollview are set up using constraints. This gets the scrollview scrolling (yay) but alas, it scrolls too far! As far as I can tell, the scroll width is somehow doubled from what I set the contentview at???!!!???

I tried the pure autolayout approach as well, both with contentview and without. All the views are translatesAutoresizingMaskIntoConstraints=NO, except for self.view. The buttons have fixed width/height constraints, and are pinned to all four edges of the scrollview. Nothing scrolls.

So I am totally baffled why I can't get it to work correctly. Any help is much appreciated, and if you need any other info, please ask!

UPDATED Screenshot with solution - buttonZ constraints:

EDIT @ Jamie Forrest So the solution turns out to be the wrong trailing constraint on the last button. Instead of 6441, the value I had set was negative, -6441. The tricky thing is, that when setting the value in storyboard, there are two options in the Pin toolbar:

The Current Canvas Value is negative (leading to no scroll), and the option below is positive (activating scroll). This means I'm not stupid but at least half-blind I guess. Although, to my defense, isn't it somewhat disturbing that XCode doesn't show an error for the "incorrect" setting?

EDITED AGAIN Now this is funny... changing the trailing value from -6441 (no scroll) to 6441 enabled scroll. But my old friend the "too much contentsize" was back, leading to a content size twice as large as what it should be! The solution to get the correct content scroll was to set the trailing constraint to ZERO! This is not obvious when working in Storyboard but looking at @Infinity James' code, it is what it should be.

解決方案

It's hard to see the exact values and setup of your constraints as you've pasted them here, so I'm not sure from looking at your screenshots where you have gone wrong.

In lieu of an explanation of what's wrong in your setup, I've created a basic sample project with a very similar view hierarchy and constraint setup to the one you describe. The horizontal scrolling works as expected in the sample project, which uses the "Pure AutoLayout" approach that Apple describes in the Technical Note.

I also had a lot of trouble originally getting Auto Layout to work with UIScrollView. The key to getting it to work is making sure that all of the items in the scroll view, taken together, have constraints that eventually link to all sides of the scroll view and that contribute to the AutoLayout system being able to determine a contentSize for the scroll view that will be bigger than its frame. It looks like you were trying to do that in your code, but maybe you had some superfluous constraints in there that were making the contentSize too small.

Also of note, as others mentioned, with AutoLayout and UIScrollview, you no longer set the contentSize explicitly. The AutoLayout System calculates the contentSize based on your constraints.

I also found this ebook chapter to be very helpful in making me understand how all this works. Hope all this helps.

這篇關(guān)于如何使用 Autolayout 在我的 UIScrollview 上設(shè)置約束?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How to subclass UIScrollView and make the delegate property private(如何繼承 UIScrollView 并使委托屬性私有)
Swift - how to get last taken 3 photos from photo library?(Swift - 如何從照片庫中獲取最后拍攝的 3 張照片?)
Setting contentOffset programmatically triggers scrollViewDidScroll(以編程方式設(shè)置 contentOffset 觸發(fā) scrollViewDidScroll)
Photos app-like gap between pages in UIScrollView with pagingEnabled(使用 pagingEnabled 的 UIScrollView 中頁面之間的照片應(yīng)用程序式間隙)
why UIScrollView is leaving space from top in ios 6 and ios 7(為什么 UIScrollView 在 ios 6 和 ios 7 中從頂部留下空間)
UIScrollView pauses NSTimer while scrolling(UIScrollView 在滾動時暫停 NSTimer)
主站蜘蛛池模板: 男女啪啪网址 | 亚洲中午字幕 | 亚洲国产一区二区三区四区 | 久久久91精品国产一区二区三区 | 久久亚洲一区二区三 | 国产在线观看一区二区 | 视频在线观看一区 | 偷拍自拍网站 | 黄色大片免费网站 | 孰女乱色一区二区三区 | 久久99国产精一区二区三区 | 女同久久 | 秋霞精品 | 精品一区二区久久 | 日韩一区在线视频 | 欧美日韩在线播放 | av一区二区三区四区 | 亚洲国产成人一区二区 | 亚洲欧美日韩精品久久亚洲区 | 99福利视频 | 国产精品电影在线观看 | 日韩免费在线 | 久久久网 | 欧美精品区 | 久久久久久精 | 国产精品国产自产拍高清 | 久久精品久久久久久 | 一区二区av | 精品一区二区免费视频 | 国产精品精品 | 精品国产乱码久久久久久牛牛 | 五月婷婷在线视频 | 色欧美日韩 | 一区二区精品 | 亚洲日韩中文字幕一区 | 欧美久久国产 | 精品视频成人 | 久久久久亚洲精品 | 日韩精品久久 | 中文二区 | 国产一区 |