iOS開發技巧(1)

來源:互聯網
上載者:User

iOS開發技巧(1)
這個系列的文章只是簡單地把開發過程中的一些技巧總結起來,方便以後查閱。 exclusiveTouchexclusiveTouch是UIView的一個屬性。Exclusive是“獨家”的意思,所以這個方法的作用就是把某個UIView的觸碰事件設定為獨家事件,即如果多個設定了exclusivetouch的UIVIew被同時點擊,則只對一個事件作出反應。這個方法可以用於解決多個按鈕同時點擊造成的多事件響應問題。 attemptRotationToDeviceOrientation這是UIViewController的一個靜態方法,用於喚起旋轉螢幕。當UIViewController的方向與螢幕的方向不一致時,使用這個方法可以讓UIViewController旋轉螢幕。使用這個方法一般用於應付坑爹的產品需求,在某個介面顯示是豎屏、而進入另一個介面則是橫屏的情況。 viewWillLayoutSubviews這是UIViewController的一個方法,和viewDidLoad、viewWillAppear類似。這個方法在UIView調用layoutSubviews之後調用,作為UIViewController的子類,一般可以實現這個方法以重新調整介面。 之所以用這個方法,是因為在Storyboard中,我們一般都會以一定的大小顯示控制項,當視圖被真正載入時,即在viewDidLoad中,我們的控制項顯示的尺寸都是我們在Storyboard中對應的尺寸,即使實際螢幕與Storyboard中的螢幕尺寸不一致,還是會使用Storyboard中的大小。這樣造成的問題是控制項未能及時初始化,特別是UICollectionView等需要根據視圖大小決定子視圖布局的控制項,影響很大。所以在viewWillLayoutSubviews中對我們的控制項進行重新調整才是正確的方法。 等比例排放視圖如果需要讓幾個視圖橫向排列且等寬等距,可以通過設定它們之間的間距約束、它們的寬度相等約束來實現。 如果需要讓幾個已知寬度的視圖等距排列,有兩種方法。一種是在上面方法的基礎上在每個視圖內部中心放置新的視圖。另一種方法則是設定每個視圖對齊中心,並修改乘數(Multiplier)讓視圖位移,並通過選中控制項、按住option鍵、滑鼠移到另一個控制項上查看兩個視圖之間的距離這種方法檢驗乘數的正確性。 Constrain to marginsStoryboard中對視圖的約束一般會預設選上Constrain to margins,這意味著它與父視圖會有一定的位移值。這個選項會造成我們設計與開發之間的偏差,如果需要高度自訂自己的視圖,則需要把這個約束去掉。   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.